Foros del Web » Programando para Internet » PHP »

Seleccionar múltiples tablas con PHP

Estas en el tema de Seleccionar múltiples tablas con PHP en el foro de PHP en Foros del Web. Holaa... bueno esta es mi primera consulta... el problema es que con php seleccione dos tablas de la Código PHP: $calendario  =  mysql_query ( "SELECT calendario.rango,calendario.fecha,citas.dia,citas.hora FROM calendario,citas" ...
  #1 (permalink)  
Antiguo 07/01/2011, 05:44
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Pregunta Seleccionar múltiples tablas con PHP

Holaa... bueno esta es mi primera consulta...
el problema es que con php seleccione dos tablas de la
Código PHP:
$calendario mysql_query("SELECT calendario.rango,calendario.fecha,citas.dia,citas.hora FROM calendario,citas");
while(
$calR=mysql_fetch_array($calendario)) {
    
$calendario_hora $calR['rango'];
    
$calendario_fecha $calR['fecha'];
    
$citas_dia $calR['dia'];
    
$citas_hora $calR['hora'];
    
    echo 
$citas_dia.' <br> ';

pero al mostrar el contenido en " $citas_dia ", que en la base de datos solo has 2 registros, me muestran 6 registros los dos de la tabla cita se repiten 6 beses, en la tabla calendario tengo 6 registros..
como solucionaría este dilema..

-------------------------------------------------------------------------------------------------
(Nadie puede con esto??)

Última edición por cosobo; 07/01/2011 a las 06:06 Razón: ninguna respuesta
  #2 (permalink)  
Antiguo 07/01/2011, 06:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Seleccionar múltiples tablas con PHP

mmm eso es un problema de SQL no de PHP
te recomiendo postees en el foro de mysql para que te orienten..


saludos.
  #3 (permalink)  
Antiguo 07/01/2011, 06:29
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Seleccionar múltiples tablas con PHP

Efectivamente tal y como haces la consulta estás multiplicando las tablas, para que esto no suceda deberías escribir algo así

Código:
SELECT calendario.rango,calendario.fecha,citas.dia,citas.hora FROM calendario CAL 
LEFT JOIN citas CIT ON(CIT.dia = CAL.fecha);
Si pones la estructura de tablas te podremos orientar mejor, saludos
  #4 (permalink)  
Antiguo 07/01/2011, 07:48
(Desactivado)
 
Fecha de Ingreso: enero-2011
Mensajes: 66
Antigüedad: 13 años, 3 meses
Puntos: 2
Pregunta Respuesta: Seleccionar múltiples tablas con PHP

Cita:
Iniciado por repara2 Ver Mensaje
Efectivamente tal y como haces la consulta estás multiplicando las tablas, para que esto no suceda deberías escribir algo así

Código:
SELECT calendario.rango,calendario.fecha,citas.dia,citas.hora FROM calendario CAL 
LEFT JOIN citas CIT ON(CIT.dia = CAL.fecha);
Si pones la estructura de tablas te podremos orientar mejor, saludos
Código SQL:
Ver original
  1. citas ///////////////////////////////////////////////
  2. `id` VARCHAR(10) NOT NULL,
  3.   `idUsuario` VARCHAR(10) NOT NULL,
  4.   `servicios` text NOT NULL,
  5.   `direccion` text NOT NULL,
  6.   `dia` VARCHAR(20) NOT NULL,
  7.   `hora` VARCHAR(20) NOT NULL,
  8.   `precio` FLOAT NOT NULL,
  9.   `ofertas` VARCHAR(100) NOT NULL,
  10.   `fecha` datetime NOT NULL,
  11. ///////////////////////////////////////////////
  12.  
  13. calendario ///////////////////////////////////////////////
  14. `id` VARCHAR(5) COLLATE utf8_bin NOT NULL,
  15.   `titulo` VARCHAR(50) COLLATE utf8_bin NOT NULL,
  16.   `descripcion` text COLLATE utf8_bin NOT NULL,
  17.   `rango` VARCHAR(20) COLLATE utf8_bin NOT NULL,
  18.   `fecha` VARCHAR(50) COLLATE utf8_bin NOT NULL,
  19.   `lugar` VARCHAR(100) COLLATE utf8_bin NOT NULL,
  20.   `detalles` text COLLATE utf8_bin NOT NULL,
  21.   `tiempo` datetime NOT NULL,
  22. ///////////////////////////////////////////////

el dilema es que yo kiero mostrar todos los registros, en citas tengo dos registros y en calendario tengo 6, yo kiero mostrar los los 2 registros de citas y los 6 de calendario pero a la hora de mostrar me muestra 6 beses el registro de citas, no kiero comparar tampoco los registros de citas y de calendario, porque ningún día conicide
o ¿creo que tengo que llamar a los dos por separado ?

Etiquetas: bases, mysql, php-mysql
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 11:25.