SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: Gallagher en Miércoles 26 de Mayo de 2004, 19:07

Título: Arrays De Html A Php
Publicado por: Gallagher en Miércoles 26 de Mayo de 2004, 19:07
Holas

tengo un array de texfields, texbox, inputs cmo quiran llamarle

llamad ITEM

y cuadno lo leo con el

Código: Text
  1.  
  2. for ($x=1;$x< 13; $x++)
  3. {  
  4.     $_POST[item[$x]];
  5. }
  6.  
  7.  


me da error da error
si leo sin el $_POST
osea como item
no me trae nda (sipongo que sera por la version de mi php)

please ncesito su ayuda

desde ya muchas gracias
Título: Re: Arrays De Html A Php
Publicado por: Oliverio en Jueves 27 de Mayo de 2004, 09:10
En PHP4 tenes la intruccion foreach para estos temas:
Código: Text
  1. foreach($HTTP_POST_VARS['ITEM_QUE_ES_UN_ARRAY'] as $clave => $val){
  2.     echo "$clave => $val<br>";
  3. }
  4.  
pero en PHP3 o menor:
Código: Text
  1. while (list ($clave, $val) = each ($HTTP_POST_VARS['ITEM_QUE_ES_UN_ARRAY'])) {
  2.     echo "$clave => $val<br>";
  3. }
  4.  

Yo personalmene usaria la segunda forma ya que nunca vas a tener problemas con algun servidor que este desactualizado.

Se me olvidaba, yo usaria un
Código: Text
  1. if (is_array($HTTP_POST_VARS['ITEM_QUE_ES_UN_ARRAY'])){
  2. ...}
  3.  
porque si $HTTP_POST_VARS['ITEM_QUE_ES_UN_ARRAY'] no es un array, el each o el foreach te tiran un warning.
Título: Re: Arrays De Html A Php
Publicado por: Gallagher en Jueves 27 de Mayo de 2004, 20:37
No existe una forma sin usar un for each?

no importa que el vector sea de textfiedls y no un vector declarado en php?
Título: Re: Arrays De Html A Php
Publicado por: Avalon en Jueves 27 de Mayo de 2004, 22:19
Haciéndome una idea de tu código HTML creo que podrías probar con esto:

Código: Text
  1. for ($x=1;$x< 13; $x++)
  2. {  
  3.    $_POST['item['.$x.']'];
  4. }
  5.  

Si no funciona adjunta el código HTML del formulario a ver si damos con la solución.

Salu2,
Avalon
Título: Re: Arrays De Html A Php
Publicado por: Gallagher en Viernes 28 de Mayo de 2004, 14:38
Código: Text
  1.  
  2. $SQL= "insert into tragos_items(id_trago,ingrediente) values (2,'".$_POST['item['.$x.']']."')";
  3.  
  4.  

esta sentencia sql , utilizo, pero no me trae nada en el POST
y como dije antes el item es un

Código: Text
  1.  
  2. for ($x=1;$x< $_POST[txtCantidad]+1; $x++)
  3. {
  4.       print("<tr>");
  5.       print("<td width='60%'><font face='Verdana'>Item ".$x."</font></td>");
  6.       print("<td width='46%'><font face='Verdana'><input type='text' name='item' size='20'></font></td>");
  7.       print("</tr>");
  8.   }
  9.  
  10.  

que creo
como un vector de texts
Título: Re: Arrays De Html A Php
Publicado por: Avalon en Viernes 28 de Mayo de 2004, 15:14
No creo que haya forma de pasar un array de textbox desde el formulario y si estoy equivocado que alguien me corrija :) Deberías ponerle un nombre diferente a cada textbox, algo así...

Código: Text
  1. for ($x=1;$x< $_POST[txtCantidad]+1; $x++)
  2. {
  3.      print("<tr>");
  4.      print("<td width='60%'><font face='Verdana'>Item ".$x."</font></td>");
  5.      print("<td width='46%'><font face='Verdana'><input type='text' name='item[".$x."]' size='20'></font></td>");
  6.      print("</tr>");
  7.  }
  8.  


Los corchetes no tienen ninguna utilidad en este caso, ya que no es realmente un array sinó que forman parte del nombre del elemento, pero debería funcionar igual (no lo he probado). Si le quieres quitar los corchetes recuerda quitarlos tanto en el bucle anterior como en la sentencia SQL.
Título: Re: Arrays De Html A Php
Publicado por: Gallagher en Viernes 28 de Mayo de 2004, 16:31
avalon yo ya habia probado eso

pero como pondira entonces vos la sentencia SQL?


si pones esos corchetes, no me trae nada  :(  :(

a ver si no como harias vos esto

tengo que agregar items a una tabla items y los items obio se generan segun la cantidad que el tipo ingreso (Cantidad de items)
como
meterias vos en una talba dinamicantem esos imtes?

yo loque hice fue generar texts segun la cantidad , pero depues tengo que guardarlos
Título: Re: Arrays De Html A Php
Publicado por: Oliverio en Sábado 29 de Mayo de 2004, 03:52
Ahora entiendo, tu prolema esta en la forma de declarar un array de textbox, todos los items de un array tienen que tener el miso nombre seguidos de"[]"
name='item[]'
Quedando tu codigo:
Código: Text
  1. for ($x=1;$x< $_POST[txtCantidad]+1; $x++)
  2. {
  3.      print("<tr>");
  4.      print("<td width='60%'><font face='Verdana'>Item ".$x."</font></td>");
  5.      print("<td width='46%'><font face='Verdana'><input type='text' name='item[]' size='20'></font></td>");
  6.      print("</tr>");
  7.  }
  8.  

en cuanto a la pregunta que si existe otra manera de acceder al array, seria:
Código: Text
  1. $HTTP_POST_VARS['item'][$POS+1]
  2.  
el +1 es porque este array empiesa en 1
Título: Re: Arrays De Html A Php
Publicado por: Gallagher en Martes 1 de Junio de 2004, 21:04
muchismas gracias funciono........ les agradesco a todos