Foros del Web » Programando para Internet » PHP »

¿Cómo unir 2 Tablas MySQL?

Estas en el tema de ¿Cómo unir 2 Tablas MySQL? en el foro de PHP en Foros del Web. Tengo una duda tengo 2 tablas con los siguientes nombres: - Posts - Comentarios Imágenes TABLA COMENTARIOS TABLA POSTS Cuando alguien comenta algo se le ...
  #1 (permalink)  
Antiguo 30/12/2008, 18:09
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Exclamación ¿Cómo unir 2 Tablas MySQL?

Tengo una duda tengo 2 tablas con los siguientes nombres:
- Posts
- Comentarios

Imágenes
TABLA COMENTARIOS

TABLA POSTS


Cuando alguien comenta algo se le asigna una ID al comentario, lo que yo quiero hacer es que cuando comente alguien es que en la tabla POSTS en el campo (si es que se le puede llamar asi) COMENTARIOS se le vayan agregando las IDs de los COMENTARIOS que se van agregando.

¿Con qué código PHP uno los Comentarios con los POsts?


Saludos.

Miguelithox.
  #2 (permalink)  
Antiguo 30/12/2008, 19:54
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿Cómo unir 2 Tablas MySQL?

No es necesario agregar el id de los comentarios en la tabla POST, esto es al reves, en cada comentario pones el id del POST al que pertenecen, asi, cuando cargues los comentarios vas a filtrarlos con WHERE post = $id_post

Pregunta, en tus dos tablas que diferencia hay entre id e identificador?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 30/12/2008, 20:01
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 3 meses
Puntos: 7
Respuesta: ¿Cómo unir 2 Tablas MySQL?

el id es la id del comentario, y el identificador es el número de comentario del POST o Discusión.

Ejemplo de comentario:
Cita:
Miguelithox | 30.12.2008 23:00 dijo:
Holaa
Ese mensaje es el mensaje número 300 (Ese numero es la ID) y es el primer comentario del Post (Es el que indica qué cantidad de post hay)
En POSTS no sirve, pero creo que se me escapó por ahí.
  #4 (permalink)  
Antiguo 30/12/2008, 20:07
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: ¿Cómo unir 2 Tablas MySQL?

hola que tal.

bueno seria algo asi

para unir post con comentarios seria de la siguiente manera.. y en realidad puedes hacerlo

pagina.php

ejemplo: pagina.php?id=3
Código PHP:
<?

session_start
();

  
$id $_GET['id'];

  if(isset(
$id)){
  
  include(
'config.php');
   
// hacemos query para llamar el post con X ID
   
$sql "SELECT  id, autor, titulo, mensaje, fecha FROM post WHERE id="$id";";
   
$query mysql_query($sql) or die('Error en query POST');

// hacemos un query para llamar los Comentarios del post X
   
$sql_c "SELECT id, autor, mensaje, fecha, identificador FROM comentarios WHERE identificador="$id";";
   
$query_c mysql_query($sql) or die('Error en query comentarios');
}


  else {
  
   
header('Location: index.php');
 }


// esto es para el post
$data_p mysql_fetch_array($sql);
  
echo 
$data['titulo']."<BR>";

echo 
'<BR>'.$data['mensaje']."<BR>";

// esto es para los comentarios

 
while($com mysql_fetch_array($sql_c))
{
   echo 
'<BR>'.$com['mensaje']."<BR>";
}  
?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.

Última edición por eddwinpaz; 30/12/2008 a las 20:49
  #5 (permalink)  
Antiguo 30/12/2008, 20:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿Cómo unir 2 Tablas MySQL?

Malinterprete esto?
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 30/12/2008, 21:07
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: ¿Cómo unir 2 Tablas MySQL?

Código PHP:


<?

  

  
if(isset($_GET['id']))
  {
  
  include(
'config.php');
   
   
// hacemos query para llamar el post con X ID
   
$sql "SELECT  
           id, 
           autor, 
           titulo, 
           mensaje, 
           fecha 
           FROM posts 
           WHERE id='"
.$id."';";
           
   
$query mysql_query($sql) or die('Error en query POST');
   
$total mysql_num_rows($query);

   
// hacemos un query para llamar los Comentarios del post X
   
$sql_c "SELECT 
             id, 
             autor, 
             mensaje, 
             fecha, 
             identificador 
             FROM comentarios 
             WHERE identificador='"
.$id."';";
             
   
$query_c mysql_query($sql) or die('Error en query comentarios');
   
$total_c mysql_num_rows($query_c);
}





// esto es para el post
$data_p mysql_fetch_array($query);
  
echo 
$data_p['titulo']."<BR>";

echo 
'<BR>'.$data_p['mensaje']."<BR>";

// esto es para los comentarios

 
while($com mysql_fetch_array($query_c))
{
   echo 
'<BR>'.$com['mensaje']."<BR>";
}  



echo 
"<BR>";
echo 
'Total Rows en POST: '.$total.''.'<BR>';
echo 
'Total Rows en Comentarios: '.$total_c.''.'<BR>';
?>
100% seguro que debe funcionarte OJO prueba.php y luego pon

http://www.extreme-zone.cl/prueba.php?id=1
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #7 (permalink)  
Antiguo 30/12/2008, 21:11
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: ¿Cómo unir 2 Tablas MySQL?

Array ( [id] => 1 )
Total Rows en POST: 0
Total Rows en Comentarios: 0

eso quiere decir que no tienes nada en tus tablas.. en el PHPMyAdmin dale click en INSERTAR y rellena los campos y en la tabla de comentarios cuando le des insertar acuerdate del id del post para que se lo coloques al identificador y eso te deberia funcionar correctamente..
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
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 00:35.