Foros del Web » Programando para Internet » PHP »

Duda Foreach

Estas en el tema de Duda Foreach en el foro de PHP en Foros del Web. estoy trayendo un array por el metodo post. Código: <input type='hidden' name='id[]' value='$idorden'> y el foreach consecuente debe actualizar los datos que correspondan a esa ...
  #1 (permalink)  
Antiguo 30/06/2009, 18:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Duda Foreach

estoy trayendo un array por el metodo post.


Código:
<input type='hidden' name='id[]' value='$idorden'>
y el foreach consecuente debe actualizar los datos que correspondan a esa linea.

Código PHP:
$i=0;
foreach (
$id as $orden){
echo 
"$id[$orden]";<---Aqui no logro conseguir la ID
$sqlupd
="UPDATE ordenes SET cant='$cant[$i]', unidad='$unid2[$i]', descripcion='$desc[$i]', punit='$punit[$i]' WHERE idorden='$orden[idorden]'";
$i++;

Alguna Sugerencia????

por cierto, si llegan todos los demas datos, excepto, el ID
  #2 (permalink)  
Antiguo 30/06/2009, 18:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Duda Foreach

Pero si el ID lo tienes en $orden solamente.

Recuerda que $orden no es la llave, es el valor.
  #3 (permalink)  
Antiguo 30/06/2009, 18:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda Foreach

no entiendo

se supone que ID como Orden o sea en cada ocasion del array ID, orden sera un valor?
  #4 (permalink)  
Antiguo 30/06/2009, 18:31
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: Duda Foreach

¿es $id tu array? Puedes hacer:

Código php:
Ver original
  1. $i=0;
  2. foreach ($id as $key => $orden){
  3. echo $key; //este es el id del array
  4. echo $orden; //este es el orden
  5. $i++;
  6. }
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #5 (permalink)  
Antiguo 30/06/2009, 18:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda Foreach

ok Key me da la posicion de cada valor en el array o sea

0,1,2... etc...

y $orden me deberia dar el campo que estoy trayendo ($idorden)
me aparece en blanco $orden.

$key si me da la posicion del array
  #6 (permalink)  
Antiguo 30/06/2009, 18:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Duda Foreach

¿Cuando imprimes tu formulario HTML y ves el código fuente ves los datos?

Saludos.
  #7 (permalink)  
Antiguo 30/06/2009, 18:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda Foreach

ya encontre un error que tenia, ahora si estoy seguro que los datos estaban pasandose mal
Anterior
Código:
<input type='hidden' name='id[]' value='$idorden'>
Correcto
Código:
<input type='hidden' name='id[]' value='$row[idorden]'>
Es que viene de un While Asignando $row como clave.

Código PHP:
foreach ($id as $orden){
$sqlupd="UPDATE ordenes SET cant='$cant[$i]', unidad='$unid2[$i]', descripcion='$desc[$i]', punit='$punit[$i]' WHERE idorden='$orden'"
en esta linea, no se que falta, si hago echo a $orden, me da los valores de orden, pero no hace el update
  #8 (permalink)  
Antiguo 30/06/2009, 19:20
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: Duda Foreach

me imagino que es porque no has hecho el query:

Código php:
Ver original
  1. $sqlupd=mysql_query("UPDATE ordenes SET cant='$cant[$i]', unidad='$unid2[$i]', descripcion='$desc[$i]', punit='$punit[$i]' WHERE idorden='$orden'");
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #9 (permalink)  
Antiguo 01/07/2009, 09:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 25
Antigüedad: 16 años
Puntos: 0
Respuesta: Duda Foreach

creo que ejecutar el query. haria que funcione todo.

jajajaja, gracias por su ayuda
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 14:07.