ya lo tengo hecho, el código final sería el siguiente.
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 principal.id_plantilla, principal.titulo, localizacion.hijo, principal.fecha_inicio, principal.fecha_fin, principal.descripcion FROM principal, localizacion WHERE principal.id_localizacion = localizacion.id_localizacion order by principal.id_plantilla";
$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 descriptor.descriptor FROM descriptor, tabla_puente_descriptor, principal WHERE principal.id_plantilla = tabla_puente_descriptor.id_plantilla AND descriptor.id_descrip = tabla_puente_descriptor.id_descrip and principal.id_plantilla like '$dato' order by principal.id_plantilla";
$result2=mysql_query($sSQL2);
for ($j=0; $rec=mysql_fetch_array($result2); $j++){
printf($rec["descriptor"]." ,");}
echo "</tr><tr><td>Descripcion:</td><td>";
echo $row['descripcion'];
echo " | aquí debería estar el descriptor</td></tr></table><br><hr>";
}
?>
</body>
</html>
la solucción la he encontrado en el manual de php ne la red, la verdad es que cada día presento nuevas perlas en ese manual.
Un saludo y gracias, ahora me toca la sentencia if para quitar la coma al último resultado.
oskar calvo