Foros del Web » Programando para Internet » PHP »

Error en Foreach

Estas en el tema de Error en Foreach en el foro de PHP en Foros del Web. Tengo un buscador mediante el cual se le solicita a las personas teclear un id x para que encuentre datos e imagenes de un usuario ...
  #1 (permalink)  
Antiguo 02/06/2010, 08:49
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Error en Foreach

Tengo un buscador mediante el cual se le solicita a las personas teclear un id x para que encuentre datos e imagenes de un usuario x
El problema es que tarda en entra el foreach no se si me explico es decir si pongo por primera vez x numero en el buscador me tira este error

Código PHP:
WarningInvalid argument supplied for foreach() in /home/tacopnet/public_html/pdf/consu.php on line 342 
Si me regreso al buscador pongo otro numero me vuelve a tirar el error
Repito el proceso es decir me regreso al buscador pongo x id y por fin me localiza las imagenes y datos correspondientes al id a que se debe este problema este es mi codigo

Código PHP:
foreach ( $ids as $idimg) --[COLOR="Red"]En esta linea me tira el error[/COLOR]

echo 
"<table border='1' cellspacing='2' cellpadding='6'>";
echo 
"<tr>";
echo 
"<th>"

   echo 
"<input type='text' name='ruta[]' value='$idimg' />";  //aca genero tantos hidden como imagenes haya
 
echo "</th>";
echo 
"</tr>";
echo 
"</table>";

 
  echo 
"</FORM>";
  } 
este codigo esta arriba del que puse de la linea de error
Código PHP:
$b=$_POST['caja1'];


$result=mysql_db_query("tacopnet_tacop","select * from  imagenes   where A66  LIKE '%{$b}%' ",$conec);
//Mostramos los registros
$contador=0;
while ($row=mysql_fetch_assoc($result))
{

echo '<img src="'.$row['ruta'].'" width="50%" height="50%">';
echo '</img>';

$ids[$contador]=$row['A66']; 
$contador++;

}
mysql_free_result($result);
mysql_close($conec);
echo "<p>";
$conec1=mysql_connect("10.33.143.3","tacopnet_root","y+y-u*u/");
$c=$_POST['caja1'];
$result1=mysql_db_query("tacopnet_tacop","select A1,A10,A11,A12,A13,A14,A15,A18,A19,A32 from  finiquito   where A66  LIKE '%{$c}%' ",$conec1);
while ($row1=mysql_fetch_array($result1))
{
echo "<table border='1' cellspacing='2' cellpadding='6'>";
echo "<tr>";
echo "<th>"; 
echo "Numero de Folio";
echo "</th>";
echo "<th>"; 
echo "Nombre";
echo "</th>";
echo "<th>"; 
echo "Domicilio";
echo "</th>";
echo "<th>"; 
echo "Colonia";
echo "</th>";

echo "<th>"; 
echo "Fecha de Inicio";
echo "</th>";
echo "<th>"; 
echo "Fecha de Terminacion";
echo "</th>";
echo "<th>"; 
echo "Asesor Tecnico";
echo "</th>";
echo "</tr>";
echo "<tr>";
echo "<td>"; 
echo " ".$row1['A1']. " ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A10']." ";
echo " ".$row1['A11']." ";
echo " ".$row1['A12']." ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A13']." ";
echo " ".$row1['A14']." ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A15']." ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A18']." ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A19']." ";
echo "</td>";
echo "<td>"; 
echo " ".$row1['A32']." ";
echo "</td>";

echo "</tr>"; 
echo "</table>";

}
mysql_free_result($result1);
mysql_close($conec1);


?>
<?
echo "<FORM method='post'  action='reportepdf.php' target='jose' onsubmit='jose = window.open(this.action , 'jose' , 'width=2000,height=2000')'>"
echo 
"<input type='submit' name='submit' value='Obtener Pdf'>"
echo 
"<input type='hidden' name='A66' id='A66' value='$c' />";
Saludos y gracias

Última edición por yoyoyo82; 02/06/2010 a las 09:22
  #2 (permalink)  
Antiguo 02/06/2010, 09:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en Foreach

bueno, el error es natural... si la variable $ids no la defines previamente -antes de rellenarla- como un array() por eso salta el error...

me explico: se que con un while() colocas datos en $ids, pero que sucede si no hay nada para rellenar??

entonces, como la variable $ids no se ha definido como arreglo... bingo!!

¿se entiende??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/06/2010, 10:23
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Error en Foreach

ok muchas gracias lo que no sabria con exactitud es como declarar la variable $ids como array

Seria algo asi

$ids = array();

saludos
  #4 (permalink)  
Antiguo 02/06/2010, 10:28
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 7 meses
Puntos: 31
Respuesta: Error en Foreach

$ids = array("1","2","3");

que equivale a esto

$ids[0]; //1
$ids[1]; //2
$ids[2]; //3
  #5 (permalink)  
Antiguo 02/06/2010, 10:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en Foreach

Cita:
Iniciado por yoyoyo82 Ver Mensaje
ok muchas gracias lo que no sabria con exactitud es como declarar la variable $ids como array

Seria algo asi

$ids = array();

saludos
si... así es... ;)

pero recuerda que debes hacerlo antes del while()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 02/06/2010, 10:45
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Error en Foreach

Gracias ahora surge otra duda tengo otra variable que es $contador la cual puse para que dependiendo de la cantidad de imagenes que tenga x usuario me las busque como la definiria

$contador=0;
$ids = array($contador);


o

$contador=0;
$ids = array();

o

$contador=0;
$ids = array("1","2");
  #7 (permalink)  
Antiguo 02/06/2010, 10:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Error en Foreach

Cita:
Iniciado por yoyoyo82 Ver Mensaje
Gracias ahora surge otra duda tengo otra variable que es $contador la cual puse para que dependiendo de la cantidad de imagenes que tenga x usuario me las busque como la definiria

$contador=0;
$ids = array($contador);


o

$contador=0;
$ids = array();

o

$contador=0;
$ids = array("1","2");
una pregunta... si sabes usar arrays??

porque no tiene mucho sentido lo que haces... parece que solo le quieres atinar al código bueno!!

una cosa es tu contador, y una distinta debería ser el arreglo de ids...

¿que tiene que ver una variable con la otra??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 02/06/2010, 11:03
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Error en Foreach

ok bueno tengo la idea tampoco te dire que soy un experto creo que se ve por la utimo pregunta que hago jjeje gracias por la aclaracion

Etiquetas: foreach
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 21:40.