Foros del Web » Programando para Internet » PHP »

como insetar la variable

Estas en el tema de como insetar la variable en el foro de PHP en Foros del Web. Hola a todos Bueno pues la cuestión es la siguiente creo inputs dinámicamente en un form con una consulta a mi bd: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 18/08/2010, 16:00
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
como insetar la variable

Hola a todos

Bueno pues la cuestión es la siguiente
creo inputs dinámicamente en un form con una consulta a mi bd:

Código PHP:
Ver original
  1. <?php
  2. $sql = "select * from refrescos";
  3. $haz = mysql_query($sql,$conn);
  4. $conta = 0;
  5. while ($row = mysql_fetch_array($haz)){
  6. $conta++;
  7. ?>
  8. <input type="hidden" name="id_ref_litro" value="<?php echo $row['id_refresco']; ?>" />
  9. <td><input type="button" name="litro_<?php echo $conta; ?>" value="<?php echo $row['desc_ref']; ?>" onclick="suma_ref(<?php echo $conta; ?>)" /></td>
  10. <td><input type="text" name="cantidad_litro_<?php echo $conta; ?>" value=0 readonly="readonly" /></td>
  11. <td><input type="button" name="borra_litro_<?php echo $conta; ?>" id="borra_litro_uno" value="Borrar" onclick="elimi_suma_ref(<?php echo $conta; ?>)" /></td>
  12. <input type="hidden" name="id_ref_mediol" value="<?php echo $row['id_refresco']; ?>" />
  13. <td><input type="button" name="mediol_<?php echo $conta; ?>" value="<?php echo $row['desc_ref']; ?>" onclick="suma_ref_medio(<?php echo $conta; ?>)" /></td>
  14. <td><input type="text" name="cantidad_mediol_<?php echo $conta; ?>" value=0 readonly="readonly" /></td>
  15. <td><input type="button" name="borra_mediol_<?php echo $conta; ?>" id="borra_mediol_uno" value="Borrar" onclick="elimi_suma_ref_medio(<?php echo $conta; ?>)" /></td>
  16. </tr>
  17. <?php } ?>

aora bien mi duda es como podría recuperar el valor de
cantidad_mediol_<?php echo $conta; ?> para poder insertarla
gracias de antemano
  #2 (permalink)  
Antiguo 18/08/2010, 16:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 7
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: como insetar la variable

No entiendo bien tu problema, si conoces de antemano el nombre exacto del campo q queres recuperar lo haces: echo cantidad_mediol_x y listo, pero si lo que queres es recuperar todos los inputs q se generen con el nombre "cantidad_mediol_x" tendrias q usar el contador q usaste en el while y recorrer los inputs de la misma manera q se generaron, explicame mejor cual es el objetivo asi te puedo ayudar.
  #3 (permalink)  
Antiguo 18/08/2010, 22:30
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: como insetar la variable

quiero recuperar el valor de las cajas de texto ya que el name cambia a
cantidad_litro_1
cantidad_litro_2
.
.
.
cantidad_litro_n
por el ciclo while

entonces mi pregunta es como lo recuperaria por $_POST y validar si (cantidad_litro_n) es mayor a cero en, otra página donde realizaría la inserción en la base de datos que es el action del form.

Me explique?....Básicamente recuperar todos las cajas de texto dinámicos que se crean

gracias de antemano.
  #4 (permalink)  
Antiguo 18/08/2010, 22:35
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años
Puntos: 65
Respuesta: como insetar la variable

pues... exactamente igual que como lo estas explicando.. O.O'

Código PHP:
Ver original
  1. $cantidad_litro_1 = $_POST["cantidad_litro_1"];

inclusive podrías mandar en un campo hidden el total de campos que estas creando para no hacer la consulta de nuevo en la otra página.. con mysql_num_rows(); y hacer un for o un while o bueno un ciclo que se repita el número de veces que tengas que leer esa variable..

Código PHP:
Ver original
  1. for($i=0;$i<$_POST["total"];$i++)
  2.     //Aquí recibes tus variables..

entendí bien tu duda?
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #5 (permalink)  
Antiguo 18/08/2010, 23:09
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: como insetar la variable

gracias por tu respuesta
pero imaginate si tuviera 100 inputs creados dinámicamente
creo q sería muy tedioso
escribir
Código PHP:
$cantidad_litro_1 $_POST['cantidad_litro_1']......... 
hasta 100 no?
por otro lado me parece más interesante la idea del ciclo for
porque asi podría utilizar el

Código PHP:
$cantidad_litro_<?php echo $i ?>
pero si pongo un insert dentro de ese for me repetiría la inserción de los datos no?......
como podría poner el insert ya recuperando esos datos ya que tengos más campos en mi formulario.
  #6 (permalink)  
Antiguo 18/08/2010, 23:13
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: como insetar la variable

porq no lo trabajas como arreglo los input?? ej
Código HTML:
Ver original
  1. <input type="text" name="nombre[]"/>
lo recibes
Código PHP:
Ver original
  1. foreach($_POST['nombre'] as $id=>$valor){
  2.      echo "el id es ".$id." el valor es ".$valor;
  3. }
siendo el id el indice del arreglo y el valor como su nombre lo indica el valor de la posicion de ese id suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 18/08/2010, 23:26
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años
Puntos: 65
Respuesta: como insetar la variable

Bueno depende de como tienes que insertar los datos, si cada campo es un campo en la BD o si cada campo es un registro de la BD, me explico??

es decir si insertas cantidad_litro_1 en el campo de la BD.. cantidad_litro_2 para otro campo o si la misma insersión lleva todos esos valores.. @.@'

si es la primera opción, necesitas saber cuantos son, y crear una cadena, que te concatene todos esos valores para insertar en la BD pero obvio necesitas saber cuantos son.. porque en teoría, los mismos deben existir en tu BD.

si es la segunda opción, de acuerdo al número de veces que hayas creado los campos, se hará el ciclo, y creo yo te conviene más..

de la forma que te comenta Carlos, también es una opción..

chispas, leo y creo que escribí enredado, dime si me explique bien.. y si te sirve ;)
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #8 (permalink)  
Antiguo 19/08/2010, 02:27
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 14 años, 6 meses
Puntos: 10
Respuesta: como insetar la variable

Cuando he de generar forms dinámicamente, para revisarlos suelo usar esto (cuando los nombres son correlativos):

Código PHP:
$i 1;
while(isset(
$_POST['cantidad_litro_'.$i])){
      
//Haz lo que tengas que hacer
      
$i++;

Si además quieres generar variables dinámicamente, el sistema es este:

Código PHP:
$i 1;
while(isset(
$_POST['cantidad_litro_'.$i])){
     
$nombre 'cantidad_litro_'.$i;
     $
$nombre $_POST['cantidad_litro'.$i];//esto haría que apareciese la variable $cantidad_litro_1, 2 o cualquier número
     
$i++:

Espero haber sido de ayuda
__________________
Buscando ideas para proyectos....

Esperando a tener 18 años....

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:24.