Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Invalid argument supplied for foreach()

Estas en el tema de Invalid argument supplied for foreach() en el foro de PHP en Foros del Web. Hola, tengo este foreach pero me da el fallo: Invalid argument supplied for foreach(). @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $OTMaterialRetiradoID = $_POST [ 'OTMaterialRetiradoID' ...
  #1 (permalink)  
Antiguo 01/03/2016, 03:35
 
Fecha de Ingreso: octubre-2015
Mensajes: 29
Antigüedad: 8 años, 6 meses
Puntos: 0
Exclamación Invalid argument supplied for foreach()

Hola, tengo este foreach pero me da el fallo: Invalid argument supplied for foreach().

Código PHP:
Ver original
  1. $OTMaterialRetiradoID=$_POST['OTMaterialRetiradoID'];
  2. $CantidadEntregadaAlCliente=$_POST['CantidadEntregadaAlCliente'];
  3.  
  4. foreach($CantidadEntregadaAlCliente as $_entregado)
  5. {  
  6.  $query2 = sprintf("UPDATE OTMaterialesRetirados
  7. SET CantidadEntregadaAlCliente = '" . $_entregado . "' WHERE OTMaterialRetiradoID = '" . $OTMaterialRetiradoID . "'");
  8.  $conn->query($query2);
  9.  
  10. }

Nose como solucionarlo
  #2 (permalink)  
Antiguo 01/03/2016, 04:41
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Invalid argument supplied for foreach()

Foreach solo acepta un array como argumento y seguramente lo que le estas pasando no es un array.
  #3 (permalink)  
Antiguo 01/03/2016, 06:14
 
Fecha de Ingreso: octubre-2015
Mensajes: 29
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Respuesta: Invalid argument supplied for foreach()

Hola xerifandtomas

Mira le paso esto:

Código PHP:
Ver original
  1. <input type="number" readonly name="OTMaterialRetiradoID" id="OTMaterialRetiradoID"  value="<?php echo $row['OTMaterialRetiradoID'];?>"></input>
  2.           <input type="number" name="CantidadEntregadaAlCliente[]" id="CantidadEntregadaAlCliente"  value="<?php echo FLOOR($row['CantidadEntregadaAlCliente']);?>"></input></td>

y lo guardo aqui:
Código PHP:
Ver original
  1. $OTMaterialRetiradoID=$_POST['OTMaterialRetiradoID'];
  2. $CantidadEntregadaAlCliente=$_POST['CantidadEntregadaAlCliente'];
  3. foreach($CantidadEntregadaAlCliente as $_entregado)
  4. {  
  5.  $query2 = sprintf("UPDATE OTMaterialesRetirados
  6. SET CantidadEntregadaAlCliente = '" . $_entregado . "' WHERE OTMaterialRetiradoID = '" . $OTMaterialRetiradoID . "'");
  7.  $conn->query($query2);
  8. }

pero solo me guarda la ultima linea :(
  #4 (permalink)  
Antiguo 01/03/2016, 06:18
 
Fecha de Ingreso: octubre-2015
Mensajes: 29
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Invalid argument supplied for foreach()

Cita:
Iniciado por xerifandtomas Ver Mensaje
Foreach solo acepta un array como argumento y seguramente lo que le estas pasando no es un array.
Hola!
Mira le paso esto:
Código PHP:
Ver original
  1. <input type="number" readonly name="OTMaterialRetiradoID" id="OTMaterialRetiradoID"  value="<?php echo $row['OTMaterialRetiradoID'];?>"></input>
  2.           <input type="number" name="CantidadEntregadaAlCliente[]" id="CantidadEntregadaAlCliente"  value="<?php echo FLOOR($row['CantidadEntregadaAlCliente']);?>"></input></td>
y lo guardo aqui:
Código PHP:
Ver original
  1. $OTMaterialRetiradoID=$_POST['OTMaterialRetiradoID'];
  2. $CantidadEntregadaAlCliente=$_POST['CantidadEntregadaAlCliente'];
  3. foreach($CantidadEntregadaAlCliente as $_entregado)
  4. {  
  5.  $query2 = sprintf("UPDATE OTMaterialesRetirados
  6. SET CantidadEntregadaAlCliente = '" . $_entregado . "' WHERE OTMaterialRetiradoID = '" . $OTMaterialRetiradoID . "'");
  7.  $conn->query($query2);
  8. }
  #5 (permalink)  
Antiguo 01/03/2016, 06:27
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Invalid argument supplied for foreach()

Intenta no abrir varios temas con la misma cuestión, mejor seguimos en el otro que esta más avanzado.

Etiquetas: foreach, invalid
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 08:07.