Foros del Web » Programando para Internet » PHP »

Unificar variables de dos tablas distintas

Estas en el tema de Unificar variables de dos tablas distintas en el foro de PHP en Foros del Web. Que tal amigos? estoy teniendo un problema al intentar unificar variables de dos tablas distintas en una base de datos, aquí va el código para ...
  #1 (permalink)  
Antiguo 28/10/2008, 10:38
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Unificar variables de dos tablas distintas

Que tal amigos? estoy teniendo un problema al intentar unificar variables de dos tablas distintas en una base de datos, aquí va el código para que lo entiendan mejor.


Código PHP:
<html> 
<head> 
<title>Sistema de noticias</title> 
<?php

$connect
=mysql_connect("localhost","root","password"); 


mysql_select_db("db",$connect); 


$result=mysql_query("select * from noticias order by fecha Desc"$connect); 
$totalregistros=mysql_num_rows($result); 
$result2=mysql_query("select * from comentarios where id",$connect);
$totalcomentarios=mysql_num_rows($result2);
?> 
</head> 
<body> 

<?php

while($row=mysql_fetch_array($result))
{

echo 
'<h2>'.$row[titulo].'</h2><br><p>'.$row[articulo].'</p><br><tudiv>'.$row[autor].'|'.$row[fecha].'| '.$row[categoria].'<br> '.$row[noticia].' | <a href="ver.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a> | 
<a href="editar.php?id='
.$row[id_noticia].'">editar</a></tu div>';
}
mysql_free_result($result)
?> 
</body> 
</html>
Como ven, existen dos tablas una llamada comentarios y otra noticias, noticias tiene un id autoincrementable llamado id_noticia y la otra un id que en otro archivo se guarda la id de id_noticia para que a la hora de pedir los comentarios de la noticia salgan solo los que tienen la misma id que la noticia, ahora bien, he intentado hacer que en el select de orden descendente aparezcan tambien el número de comentarios que tiene cada noticia, pero no me sale...


Como ven puse un par de lineas de código para hacer el intento, pero nada, me sale el número de registros de la tabla comentarios totales. Éste es el código que puse para ello:
Código PHP:
$result2=mysql_query("select * from comentarios where id",$connect);
$totalcomentarios=mysql_num_rows($result2); 
Y para mostrarlo luego...
Código PHP:
<a href="ver.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a

Gracias de antemano por su ayuda
  #2 (permalink)  
Antiguo 28/10/2008, 10:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Unificar variables de dos tablas distintas

Ahí el select de Comentarios solo seleciona la tabla donde posee un id, osea todos, necesitas darle un valor al id.

abajo del while

$result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
$totalcomentarios=mysql_num_rows($result2);
  #3 (permalink)  
Antiguo 28/10/2008, 10:48
Avatar de karlic0s  
Fecha de Ingreso: abril-2007
Ubicación: Cartagena (Murcia)
Mensajes: 241
Antigüedad: 17 años
Puntos: 18
Respuesta: Unificar variables de dos tablas distintas

Cita:
Iniciado por Zidencjb Ver Mensaje
Ahí el select de Comentarios solo seleciona la tabla donde posee un id, osea todos, necesitas darle un valor al id.

abajo del while

$result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
$totalcomentarios=mysql_num_rows($result2);
Funciona perfecto! no habia caido en hacer eso con el row e id_noticia.

Mil gracias!! ^^
  #4 (permalink)  
Antiguo 28/10/2008, 10:52
 
Fecha de Ingreso: febrero-2008
Ubicación: Cajamarca-Peru
Mensajes: 68
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Unificar variables de dos tablas distintas

creo que seria algo asi
Código PHP:
<?php

$connect
=mysql_connect("localhost","root","password"); 


mysql_select_db("db",$connect); 


$result=mysql_query("select * from noticias order by fecha Desc"$connect); 
$totalregistros=mysql_num_rows($result); 

?> 
</head> 
<body> 

<?php

while($row=mysql_fetch_array($result))
{
$result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
$totalcomentarios=mysql_num_rows($result2);

echo 
'<h2>'.$row[titulo].'</h2><br><p>'.$row[articulo].'</p>
<br><tudiv>'
.$row[autor].'|'.$row[fecha].'| '.$row[categoria].'<br> '.$row[noticia].' | <a href="ver.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a> | 
<a href="editar.php?id='
.$row[id_noticia].'">editar</a></tu div>';
}
mysql_free_result($result)
?>
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 15:30.