Foros del Web » Programando para Internet » PHP »

PHP OO inner join sql

Estas en el tema de inner join sql en el foro de PHP en Foros del Web. Por favor necesito ayuda con INNER JOIN SQL en PHP les agradesco mucho por su apoyo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original /* AQUI TABLAS ...
  #1 (permalink)  
Antiguo 22/09/2011, 16:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta inner join sql

Por favor necesito ayuda con INNER JOIN SQL en PHP
les agradesco mucho por su apoyo.


Código PHP:
Ver original
  1. /* AQUI TABLAS
  2. ----------------------------------------------------------------------------
  3. CREATE TABLE `mundo` (
  4.   `mids` int(11) NOT NULL AUTO_INCREMENT,
  5.   `uids` text NOT NULL,
  6.   `usser` text NOT NULL,
  7.   `nombres` text NOT NULL,
  8.   `avatardos` text NOT NULL,
  9.   `mctexto` text NOT NULL,
  10.   `fecha` text NOT NULL,
  11.   `visto` text NOT NULL,
  12.   PRIMARY KEY (`mids`)
  13. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
  14.  
  15.  
  16. INSERT INTO `mundo` VALUES (1, '1', '', '', '', 'hola chile', '', '');
  17. INSERT INTO `mundo` VALUES (2, '1', '', '', '', 'hola bolivia', '', '');
  18. INSERT INTO `mundo` VALUES (3, '3', '', '', '', 'hola peru', '', '');
  19. INSERT INTO `mundo` VALUES (4, '3', '', '', '', 'hola china', '', '');
  20. INSERT INTO `mundo` VALUES (5, '5', '', '', '', 'hola japon', '', '');
  21. INSERT INTO `mundo` VALUES (6, '5', '', '', '', 'hola cuba', '', '');
  22.  
  23. ----------------------------------------------------------------------------
  24.  
  25. CREATE TABLE `mundo_c` (
  26.   `ids` int(11) NOT NULL AUTO_INCREMENT,
  27.   `mids2` text NOT NULL,
  28.   `uids` text NOT NULL,
  29.   `nombres` text NOT NULL,
  30.   `avatardos` text NOT NULL,
  31.   `ctexto` text NOT NULL,
  32.   `fecha` text NOT NULL,
  33.   `visto` text NOT NULL,
  34.   PRIMARY KEY (`ids`)
  35. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
  36.  
  37.  
  38. INSERT INTO `mundo_c` VALUES (1, '1', '', '', '', 'como stas chile 1', '', '');
  39. INSERT INTO `mundo_c` VALUES (2, '2', '', '', '', 'como stas bolivia 1', '', '');
  40. INSERT INTO `mundo_c` VALUES (3, '3', '', '', '', 'como stas peru 1', '', '');
  41. INSERT INTO `mundo_c` VALUES (4, '4', '', '', '', 'como stas china 1', '', '');
  42. INSERT INTO `mundo_c` VALUES (5, '5', '', '', '', 'como stas japon 1', '', '');
  43. INSERT INTO `mundo_c` VALUES (6, '6', '', '', '', 'como stas cuba 1', '', '');
  44. INSERT INTO `mundo_c` VALUES (7, '2', '', '', '', 'como stas bolivia 2', '', '');
  45. INSERT INTO `mundo_c` VALUES (8, '2', '', '', '', 'como stas bolivia 3', '', '');
  46.  
  47. ---------------------------------------------------------------------------- */
  48. $link = mysql_connect("localhost","root","123");
  49. mysql_select_db("web",$link);
  50.  
  51. $query21 = "SELECT * FROM mundo INNER JOIN mundo_c ON mundo.mids = mundo_c.mids2 order by `mids2` ";
  52. $result21 = mysql_query($query21,$link);
  53. while($row21 = mysql_fetch_array($result21)){
  54. echo 'M '.$row21['mids'].''.$row21['mctexto'].'<br>';
  55.     if($row21['mids']==$row21['mids2']){
  56.     $hola=$row21['mids'];
  57.     $query22 = "select * from mundo_c where mids2='$hola' order by `ids`";
  58.     $result22 = mysql_query($query22,$link);
  59.     while($row22 = mysql_fetch_array($result22)){
  60.     echo 'C '.$row22['mids2'].''.$row22['ctexto'].'<br>';  
  61.     }
  62.         }else{
  63.         echo 'M '.$row21['mids'].''.$row21['mctexto'].'<br>';
  64.         }
  65. }
# tengo errores en el resultado no me sale. nesesito que me ayuden por favor
/* El resultado mas o menos asi.
M 1hola chile
C 1como stas chile 1
M 2hola bolivia
C 2como stas bolivia 1
C 2como stas bolivia 2
C 2como stas bolivia 3
M 3hola peru
C 3como stas peru 1
M 4hola china
C 4como stas china 1
M 5hola japon
C 5como stas japon 1
M 6hola cuba
C 6como stas cuba 1
*/
  #2 (permalink)  
Antiguo 22/09/2011, 16:57
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: inner join sql

últimamente todos creen que este es el foro de MySQL... Y cúal es el resultado que quieres?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 22/09/2011, 17:15
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: inner join sql

necesito mostrar asi con PHP Como lo ago. Ayuda porfa.

M 1hola chile
C 1como stas chile 1
M 2hola bolivia
C 2como stas bolivia 1
C 2como stas bolivia 2
C 2como stas bolivia 3
M 3hola peru
C 3como stas peru 1
M 4hola china
C 4como stas china 1
M 5hola japon
C 5como stas japon 1
M 6hola cuba
C 6como stas cuba 1
  #4 (permalink)  
Antiguo 22/09/2011, 17:21
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: inner join sql

Sin modificar la consulta y buscando una solución con PHP yo simplificaría tu código así:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $link = mysql_connect("localhost","root","123");
  4. $query = "SELECT * FROM mundo INNER JOIN mundo_c ON mundo.mids = mundo_c.mids2 order by mids2";
  5. $result = mysql_query($query);
  6.  
  7. $x = '';
  8.  
  9. while($row = mysql_fetch_array($result)){
  10.     if ($row['mctexto'] != $x) {
  11.         echo 'M ' . $row['mids'] . $row['mctexto'] . '<br />';
  12.     }
  13.     echo 'C ' . $row['mids'] . $row['ctexto'] . '<br />';
  14.     $x = $row['mctexto'];
  15. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 22/09/2011 a las 17:33 Razón: Me faltaron los minds, ya está.
  #5 (permalink)  
Antiguo 22/09/2011, 18:32
 
Fecha de Ingreso: septiembre-2011
Mensajes: 8
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: inner join sql

Funciona!

Muchas Grasias andresdzphp Le agradesco mucho

Etiquetas: join, mysql, sql, tabla
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 17:57.