quiero meter un while dentro de otro while, pero parece que no lo hago bien.
si lo hago de esta manera el último campo no me lo imprime.
Código PHP:
<html>
<head> <title>listado de proyectos</title></head>
<body>
<?
//Conexion con la base
mysql_connect("localhost","daniel","daniel");
mysql_select_db("gestion");
//consulta de las 3 tablas que se quieren visualizar.
$sSQL="select * from principal, descriptor, localizacion, tabla_puente_descriptor
where principal.id_plantilla = tabla_puente_descriptor.id_plantilla
and descriptor.id_descrip = tabla_puente_descriptor.id_descrip
and principal.id_localizacion = localizacion.id_localizacion";
$result=mysql_query($sSQL);
while ($row=mysql_fetch_array($result)){
echo "<table border=2> <tr><td>";
echo $row['id_plantilla'];
echo "</td><td><td></td><td></td></tr>";
echo "<tr><td>titulo</td><td>";
echo $row['titulo'];
echo "</td><td>localización:</td><td>";
echo $row['hijo'];
echo "</td></tr><tr><td>fecha de inicio</td><td>";
echo $row['fecha_inicio'];
echo "</td><td>Fecha fin:</td><td>";
echo $row['fecha_fin'];
$dato=$row['id_plantilla'];
echo "</td></tr><tr><td>Descriptores:</td><td>";
$sSQL2="select principal.id_plantilla, descriptor from principal, descriptor, localizacion, tabla_puente_descriptor
where principal.id_plantilla = tabla_puente_descriptor.id_plantilla
and descriptor.id_descrip = tabla_puente_descriptor.id_descrip
and principal.id_localizacion = localizacion.id_localizacion and principal.id_plantilla like '$dato'";
$result2=mysql_query($sSQL2);
while ($row=mysql_fetch_array($result2))
{echo $row['descriptor'].";";}
echo "</tr><tr><td>Descripcion:</td><td>";
echo $row['descripcion'];
echo "</td></tr></table><br><hr>";}
?>
</body>
</html>
43
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: descriptor_a;
Descripcion:
44
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: descriptor_a;descriptor_c;
Descripcion:
44
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: descriptor_a;descriptor_c;
Descripcion:
45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descriptores: descriptor_a;descriptor_c;
Descripcion:
45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descriptores: descriptor_a;descriptor_c;
Descripcion:
si cambio el código a esta forma:
Código PHP:
<html>
<head> <title>listado de proyectos</title></head>
<body>
<?
//Conexion con la base
mysql_connect("localhost","daniel","daniel");
mysql_select_db("gestion");
//consulta de las 3 tablas que se quieren visualizar.
$sSQL="select * from principal, descriptor, localizacion, tabla_puente_descriptor
where principal.id_plantilla = tabla_puente_descriptor.id_plantilla
and descriptor.id_descrip = tabla_puente_descriptor.id_descrip
and principal.id_localizacion = localizacion.id_localizacion";
$result=mysql_query($sSQL);
while ($row=mysql_fetch_array($result)){
echo "<table border=2> <tr><td>";
echo $row['id_plantilla'];
echo "</td><td><td></td><td></td></tr>";
echo "<tr><td>titulo</td><td>";
echo $row['titulo'];
echo "</td><td>localización:</td><td>";
echo $row['hijo'];
echo "</td></tr><tr><td>fecha de inicio</td><td>";
echo $row['fecha_inicio'];
echo "</td><td>Fecha fin:</td><td>";
echo $row['fecha_fin'];
echo "</tr><tr><td>Descripcion:</td><td>";
echo $row['descripcion'];
$dato=$row['id_plantilla'];
echo "</td></tr><tr><td>Descriptores:</td><td>";
$sSQL2="select principal.id_plantilla, descriptor from principal, descriptor, localizacion, tabla_puente_descriptor
where principal.id_plantilla = tabla_puente_descriptor.id_plantilla
and descriptor.id_descrip = tabla_puente_descriptor.id_descrip
and principal.id_localizacion = localizacion.id_localizacion and principal.id_plantilla like '$dato'";
$result2=mysql_query($sSQL2);
while ($row=mysql_fetch_array($result2))
{echo $row['descriptor'].";";}
echo "</td></tr></table><br><hr>";}
?>
</body>
</html>
44
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descripcion: lalalalaalalalla
Descriptores: descriptor_a;descriptor_c;
45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descripcion: trialara
Descriptores: descriptor_a;descriptor_c;
45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descripcion: trialara
Descriptores: descriptor_a;descriptor_c;
46
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-04 Fecha fin: 2007-02-12
Descripcion: define el proyecto
Descriptores: descriptor_a;descriptor_b;descriptor_c;
46
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-04 Fecha fin: 2007-02-12
Descripcion: define el proyecto
Descriptores: descriptor_a;descriptor_b;descriptor_c;
46
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-04 Fecha fin: 2007-02-12
Descripcion: define el proyecto
Descriptores: descriptor_a;descriptor_b;descriptor_c;
-----------------------------------------------------------
me repite todo.
alguien me puede ayudar por favor.
un saludo
oskar calvo