Foros del Web » Programando para Internet » PHP »

Problema con Foreach

Estas en el tema de Problema con Foreach en el foro de PHP en Foros del Web. Hola tengo este problemita, alguien me puede ayudar porfa :P Código: <html> <head> <title>Control de Fichas Médicas</title> </head> <body> <?php $link = mysql_connect ("localhost", "root", ...
  #1 (permalink)  
Antiguo 29/10/2009, 18:39
Avatar de revapax  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Problema con Foreach

Hola tengo este problemita, alguien me puede ayudar porfa :P
Código:
<html>
<head>
<title>Control de Fichas Médicas</title>
</head>
<body>
<?php
	$link = mysql_connect ("localhost", "root", "");
	mysql_select_db("veterinaria");
 	$res = mysql_query("SELECT Id, PERFIL_PerfilTipo, ACCESO_TipoAcceso, Enlace FROM perfil_has_acceso") or die ("Pregunta Invalida");
?>
<table>
<th>Id</th><th>Perfil</th><th>Acceso</th><th>Url</th> 
<?php
foreach($res as $acceso) {
echo "<tr><td>".$acceso['Id']."</td><td>".$acceso['PERFIL_PerfilTipo']."</td><td>".$acceso['ACCESO_TipoAcceso']."</td><td>".$acceso['Enlace']."</td><td><a href='permisos2.php?id=".$acceso['Id']."'>Eliminar este registro</a></td></tr>";
}
?>
</table>
</body>
</html>
me sale este error...

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Vete\Mostrar\permisos2.php on line 18

alguien me dice como arreglarlo porfis
  #2 (permalink)  
Antiguo 29/10/2009, 18:48
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años, 6 meses
Puntos: 50
Respuesta: Problema con Foreach

El foreach sirve para iterar sobre un array, pero no le estás pasando un array, sino un resource (el tipo de dato que devuelve la función mysql_query). Necesitas recorrer el resource con alguna de las funciones mysql_fetch_.... ¡Suerte!
  #3 (permalink)  
Antiguo 29/10/2009, 18:52
Avatar de revapax  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema con Foreach

pero necesito hacerlo con un for each por que en esa tabla tengo un link para eliminar el registro.... como puedo hacer la consulta para poder usar el forech ??? =/
  #4 (permalink)  
Antiguo 29/10/2009, 19:07
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: Problema con Foreach

con while() consigues lo mismo:
Código PHP:
while ($acceso mysql_fetch_assoc($res)) {
echo 
"<tr><td>".$acceso['Id']."</td><td>".$acceso['PERFIL_PerfilTipo']."</td><td>".$acceso['ACCESO_TipoAcceso']."</td><td>".$acceso['Enlace']."</td><td><a href='permisos2.php?id=".$acceso['Id']."'>Eliminar este registro</a></td></tr>";

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/10/2009, 19:07
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años, 6 meses
Puntos: 50
Respuesta: Problema con Foreach

No entendí el problema... puedes hacer lo mismo, sólo que en lugar de foreach usas while con mysql_fetch_array (por ejemplo).
Código PHP:
while($acceso=mysql_fetch_array($res)) 
{
    echo 
"<tr><td>".$acceso['Id']."</td><td>".$acceso['PERFIL_PerfilTipo']."</td><td>".$acceso['ACCESO_TipoAcceso']."</td><td>".$acceso['Enlace']."</td><td><a href='permisos2.php?id=".$acceso['Id']."'>Eliminar este registro</a></td></tr>";

¡Suerte!
  #6 (permalink)  
Antiguo 29/10/2009, 19:33
Avatar de revapax  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 39
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema con Foreach

graacias se pasaron :D ahora una ultima consultilla ...para recoger el dato q me envien al presionar el link eliminar este registro como recibo ?
  #7 (permalink)  
Antiguo 29/10/2009, 20:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Problema con Foreach

Podés seleccionar el ID de la tabla y borrarlo

"DEL `table` WHERE ID like ".$_POST["id"]
  #8 (permalink)  
Antiguo 29/10/2009, 22:06
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años, 6 meses
Puntos: 50
Respuesta: Problema con Foreach

Se supone que el id es un índice numérico, por lo tanto el código correcto sería:
Código PHP:
$sql="DELETE FROM perfil_has_acceso WHERE Id=$id;"
¡Suerte!
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:46.