Foros del Web » Programando para Internet » PHP »

PHP OO unificar datos de dos tablas

Estas en el tema de unificar datos de dos tablas en el foro de PHP en Foros del Web. Buenas buenas les queria pedir por favor una ayuda ya que recien estoy comenzando en esto y me he leido la parte de utilizar el ...
  #1 (permalink)  
Antiguo 17/06/2015, 08:38
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años
Puntos: 0
unificar datos de dos tablas

Buenas buenas les queria pedir por favor una ayuda ya que recien estoy comenzando en esto y me he leido la parte de utilizar el comando JOIN pero no lo he entendido. El tema es el siguiente: tengo dos tablas invitado y sinvitado lo que necesito es sencillo pero no me sale, es ordenar alfabeticamente pero de los registros de ambas tablas por el campo nombres de la tabla invitado y nombre de la tabla sinvitado. Muchas gracias de antemano!


Código PHP:
Ver original
  1. $sql1="SELECT * FROM invitado WHERE ev_asoc = $id_ev ORDER BY nombres DESC";
  2. $result1=mysql_query($sql1);
  3. $tabla = "<table font-family: Verdana, Geneva, sans-serif >";
  4. $tabla .= "<tr>";
  5.  
  6.         $tabla .= "<td bgcolor='#e0eced' height='50' width='30'></td>
  7.                   <td bgcolor='#e0eced' height='50' width='250'>NOMBRES</td>
  8.                   <td bgcolor='#e0eced' width='130'>MESA ASIGNADA</td>
  9.                   <td bgcolor='#e0eced' width='70'>COMENSAL</td>
  10.                   <td bgcolor='#e0eced' width='70'>ASISTIRÁ</td>
  11.                   <td bgcolor='#e0eced' width='450'></td>";
  12.  
  13.         $tabla .= "</tr>";
  14. while($row1=mysql_fetch_array($result1)){
  15.     $i_id = $row1['id_inv'];
  16.     $i_nombre = $row1['nombres'];
  17.     $i_mesa = $row1['mesa'];
  18.     $i_comensal = $row1['comensal'];
  19.     $i_asiste = $row1['asiste'];
  20.     $i_cont = $i_cont + 1;
  21.     if ($i_comensal=="S"){
  22.         $tabla .= "<tr>"; // fila del invitado
  23.         $tabla .= "<td bgcolor='#FFECFF'>$i_cont</td>
  24.                    <td bgcolor='#FFECFF'>$i_nombre</td>
  25.                    <td bgcolor='#FFECFF'>$i_mesa</td>
  26.                    <td bgcolor='#FFECFF'>$i_comensal</td>
  27.                    <td bgcolor='#FFECFF'>$i_asiste</td>
  28.                    <td bgcolor='#FFECFF'></td>";
  29.  
  30.         $tabla .= "</tr>"; // fin fila del invitado
  31.     } // CIERRO SI ES COMENSAL
  32. }
  33. }
  34. $sql2="SELECT * FROM s_invitado WHERE id_ev = $id_ev ORDER BY nombre DESC";
  35.        
  36.         $result2=mysql_query($sql2);
  37.         while($row2=mysql_fetch_array($result2)){
  38.             $si_idinv = $row2['id_inv'];
  39.             $si_nombre = $row2['nombre'];
  40.             $si_mesa = $row2['smesa'];
  41.             $si_comensal = $row2['scomensal'];
  42.             $si_asiste = $row2['asiste'];
  43. if ($si_comensal=="S"){
  44.                     $i_cont = $i_cont + 1;
  45.                     $tabla .= "<tr>"; // fila del sinvitado
  46.                     $tabla .= "<td bgcolor='#FFF'>$i_cont</td>
  47.                                 <td bgcolor='#FFF'>- $si_nombre</td>
  48.                                 <td bgcolor='#FFF'>$si_mesa</td>
  49.                                 <td bgcolor='#FFF'>$si_comensal</td>
  50.                                 <td bgcolor='#FFF'>$si_asiste</td>
  51.                                 <td bgcolor='#FFF'></td>";
  52.  
  53.                     $tabla .= "</tr>"; // fin fila del sinvitado
  54.                    
  55. } // cierro si es comensal
  56.         } // cierro while que recorre subinv
  57.     $tabla .= "</table>";
  58.     echo $tabla;
  #2 (permalink)  
Antiguo 17/06/2015, 08:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: unificar datos de dos tablas

Cita:
me he leido la parte de utilizar el comando JOIN pero no lo he entendido.
Creo que tu problema tiene mucho más que ver con base de datos y consultas de SQL.

No entiendo la relación con código PHP, pero bueno.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/06/2015, 08:58
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años
Puntos: 0
Respuesta: unificar datos de dos tablas

Donde tendría que escribir entonces master. Gracias!
  #4 (permalink)  
Antiguo 17/06/2015, 09:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: unificar datos de dos tablas

Código MySQL:
Ver original
  1. SELECT * FROM s_invitado WHERE id_ev = $id_ev
  2. SELECT * FROM invitado WHERE id_ev = $id_ev
  3. ORDER BY nombre DESC

Claro que para esto, ambas tablas deben tener el mismo numero de columnas, del mismo tipo y en el mismo orden...

Posdata: JOIN se usa para otra cosa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/06/2015, 09:11
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años
Puntos: 0
Respuesta: unificar datos de dos tablas

Claro el tema es que no tienen la misma cantidad de columnas...
Alguna otra sugerencia?
Gracias!
  #6 (permalink)  
Antiguo 17/06/2015, 10:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: unificar datos de dos tablas

Cita:
Iniciado por thiagossl Ver Mensaje
Claro el tema es que no tienen la misma cantidad de columnas...
Alguna otra sugerencia?
Gracias!
Bueno, isn que nos decribas el problema completamente, no hay sugerencias posibles...

¿Qué representa la tabl a"invitado" y qué campos tiene, y qué representa "s_invitado" y qué campos posee?
¿Qué relacion hay entre ambas cosas?
¿QUé otras tablas relacionarían a esas?

Si son tablas que no se relacionan, no hay modo de hacer nada. Si se vinculan de algun modo, es algo difernte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 17/06/2015, 15:42
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años
Puntos: 0
Respuesta: unificar datos de dos tablas

Claro el tema es que no tienen la misma cantidad de columnas...
Alguna otra sugerencia?
Gracias!
  #8 (permalink)  
Antiguo 17/06/2015, 15:47
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años
Puntos: 0
Respuesta: unificar datos de dos tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bueno, isn que nos decribas el problema completamente, no hay sugerencias posibles...

¿Qué representa la tabl a"invitado" y qué campos tiene, y qué representa "s_invitado" y qué campos posee?
¿Qué relacion hay entre ambas cosas?
¿QUé otras tablas relacionarían a esas?

Si son tablas que no se relacionan, no hay modo de hacer nada. Si se vinculan de algun modo, es algo difernte.
Claro disculpame, las tablas invitado y sinvitado representan a invitados y a sus respectivos acompañantes que los llamo subinvitados pero la tabla se llama sinvitado, están relacionadas porque cada subinvitado tiene el id del invitado, tambien la tabla evento lleva un id que relaciono a cada invitado y subinvitado con ese id del evento. Yo solo quiero mostrar una lista de los invitados y subinvitados pero ordenados alfabeticamente ambos en una sola lista. Esa es la cuestion que no puedo resolver. Muchas Gracias de antemano!

Etiquetas: registro, select, sql, tabla, tablas
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:29.