Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2007, 09:29
oskar_calvo
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 9 meses
Puntos: 0
ayuda con una web que me imprime una bbdd en php.

buenas, el problema que tengo es que en la bbdd que manejo tengo una tabla principal, dos tablas secundarias, y una tabla puente.

la relación es que de la tabla principal a las secundarias es 1 a 1, en cambio con la tabla puente la relación es varios a uno.

cuando hago un select para mostrar los datos que quiero de la bbdd los registros que tienen más de una entrada en la tabla puente los repite por cada entrada en la bbdd.

en este código recojo los datos:
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 
"</td></tr><tr><td>Descriptores:</td><td>";
echo 
$row['id_descrip'];
echo 
"</td></tr><tr><td>Descripcion:</td><td>";
echo 
$row['descripcion'];
echo 
"</td></tr></table><br><hr>";
}
?>

</body>
</html>
la información me la devuelve así:

43
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: 1
Descripcion: lalalalaalalalla

44
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: 1
Descripcion: lalalalaalalalla

44
titulo titulo localización: asturias
fecha de inicio 2007-07-06 Fecha fin: 2007-08-06
Descriptores: 3
Descripcion: lalalalaalalalla

45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descriptores: 1
Descripcion: trialara

45
titulo titulo localización: Madrid cam
fecha de inicio 2007-02-12 Fecha fin: 2007-02-19
Descriptores: 3
Descripcion: trialara



lo que quiero es que por el campo descriptores salgan el elemento, una coma y el siguiente elemento.

lo he intentado con la función foreach, pero no lo que me devolvía era todos los registros de la bbdd.

alguien me puede ayudar por favor.

gracias.

oskar calvo

Última edición por oskar_calvo; 05/03/2007 a las 09:43