Foros del Web » Programando para Internet » PHP »

Bucle PHP y HTML

Estas en el tema de Bucle PHP y HTML en el foro de PHP en Foros del Web. NOTA: Disculpas a todos, ya que me he equivocado de foro y he tenido que repetir mi pregunta ... Holitas ! Hace unos días el ...
  #1 (permalink)  
Antiguo 29/04/2003, 16:56
 
Fecha de Ingreso: abril-2003
Ubicación: Bs As
Mensajes: 9
Antigüedad: 20 años, 11 meses
Puntos: 0
Bucle PHP y HTML

NOTA: Disculpas a todos, ya que me he equivocado de foro y he tenido que repetir mi pregunta ...

Holitas !

Hace unos días el compañero Cluster me dió una gran ayuda con unas líneas de código que me ayudaron a comprender.
Ahora tengo un problema puntual, y es que necesito presentar los datos de una consulta y al mismo tiempo ir generando renglones en una tabla.

Si pudierais agradeceré me digan lo que estoy haciendo mal ( y comprendan que son mis primeras pruebas), aunque imagino que está mal dispuesto el HTML.

Gracias a todos !


Ejemplo :


<?php
$db=mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("icambio") or die(mysql_error());

$consulta=mysql_query("SELECT id,nick,foto FROM avisos") or die (mysql_error());

while ($registro=mysql_fetch_assoc($consulta))
<table width="500" border="2" cellspacing="0" cellpadding="0" height="200">
{
echo "<tr>";
echo "<td rowspan="2" width="100" height="100"><img src=\"".$registro['foto']."\"></td>";
echo "<td height="12" bgcolor='#CCCCFF'>$registro['id']</td>";
echo "<td height="12" bgcolor='#CCCCFF'>$registro['nick']</td>";
echo "</tr>";
echo "<tr>";
echo "<td height="43" colspan="2"></td>";
echo "</tr>";
echo "<tr>";
echo "<td bgcolor="#FFCCCC"></td>";
echo "<td bgcolor="#FFCCCC"></td>";
echo "<td bgcolor="#FFCCCC"></td>";
echo "</tr>";
</table>
}

mysql_free_result($consulta);
mysql_close($db);
?>
  #2 (permalink)  
Antiguo 29/04/2003, 20:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Tienes un ejemplo completo en esta FAQ que hizo nuestro compañero Cain:
http://www.forosdelweb.com/showthrea...669#post240669

Para que te des cuenta de los errores que comentes .. Mira SIEMPRE el código HTML que estás generando .. En tu navegador usa ver ->código fuente de esa página que generas .. Fijate que metistes dentro del bucle While la definición de <table> .. así q estas generando una TABLA entera para cada registro que presentas, cuando lo más normal es que generes SÓLO "filas" de esa tabla para cada registro ...

Piensa como trabaja PHP y la lógica que usas .. intenta reproducir a mano (con lápiz y papel) como actua el bucle a cada pasada y veras ese tipo de errores al componer HTML dinámico via PHP. Y .. bueno si no dominas bien ese tema concreto de HTML (tablas), repasa un tutorial al respecto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/04/2003, 04:37
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 1
echo "<td height="12" bgcolor='#CCCCFF'>$registro['id']</td>";

pon:


echo "<td height=12 bgcolor='#CCCCFF'>".$registro[id]."</td>";

saludos
__________________
Sataca - La Retícula
www.lareticula.com
  #4 (permalink)  
Antiguo 30/04/2003, 08:10
 
Fecha de Ingreso: abril-2003
Ubicación: Bs As
Mensajes: 9
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias !!!
  #5 (permalink)  
Antiguo 30/04/2003, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Ya que concatenas .. Usa el indice del array $registros entre comillas... No te dará problemas si el indice es un nombre de constante por ejemplo ..

Código PHP:
echo "<td height=12 bgcolor='#CCCCFF'>".$registro['id']."</td>"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:06.