Foros del Web » Programando para Internet » PHP »

multiples tablas, consultas con php sql

Estas en el tema de multiples tablas, consultas con php sql en el foro de PHP en Foros del Web. esta pregunta va mas enfocada a sql, pero la consulta la hago a través de php. tengo dos tablas, hoteles y paquetes. Un hotel puede ...
  #1 (permalink)  
Antiguo 03/02/2004, 20:50
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
multiples tablas, consultas con php sql

esta pregunta va mas enfocada a sql, pero la consulta la hago a través de php.
tengo dos tablas, hoteles y paquetes. Un hotel puede tener varios paquetes, mas un paquete solo puede tener asignado un hotel. Por lo que a cada paquete le asigné un idhotel para relacionarlo con el hotel correspondiente a la hora de dar de alta el paquete. Ahora bien tengo una consulta parecida a esta.

$sentencia = "select * from hoteles,paquetes where
hoteles.destino like '$destino' and
hoteles.idhotel = paquetes.idhotel";
$sqlres1 = mysql_query($sentencia,$link);
$html ="";
while($temp = mysql_fetch_array($sqlres1))
{
$html.= "codigo correspondiente para el primer registro"
//por ejemplo
$html.= '<td>Nombre del hotel:'.$temp[campox].'</td>';
$html.= '<td>Nombre del hotel:'.$temp[campoy].'</td>';
}
//ahora bien el problema es cuando el campo "nombre " del hotel, choca con el campo "nombre" del paquete,digamos que campox pertenece a hoteles y campoy pertenece a paquetes, pero tienen el mismo nombrem digamos "nombre" php me toma en cuenta el nombre de la ultima tabla que puse en la consulta, en este caso paquetes. Como hago si quiero el campo del mismo nombre, pero de la otra tabla? me explico?

saludos!
  #2 (permalink)  
Antiguo 03/02/2004, 21:13
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 14 años, 1 mes
Puntos: 0
prueba renombrar uno de los campos en los que encuentras el conflicto, solo ke ahora si tendrias ke poner los nombres de los campos ke necesitas mostrar.
Por darte un ejemplo:
$sentencia = "select hotel.nombre as nombre_hotel, paquetes.nombre as nombre_paquete from hoteles,paquetes where
hoteles.destino like '$destino' and
hoteles.idhotel = paquetes.idhotel";

y ya despues de hacer el mysql_query y el mysql_fetch_aray podrias referirte a ellos como los renombraste:

$html.= '<td>Nombre del hotel:'.$temp["nombre_hotel"].'</td>';
$html.= '<td>Nombre del paquetes:'.$temp["nombre_paquete"].'</td>';

Un saludo.
Espero te sirva..
En caso contrario te pediria planteases mejor tu pregunta.. jejeje
  #3 (permalink)  
Antiguo 04/02/2004, 09:10
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
perfecto

si, muchas gracias, es exactamente lo que necesitaba, no concía "as", para darle momentaneamente otro nombre al campo. Otra solución que encontré en php.net es hacer referencia al indice numérico, solo que es mas latoso par este caso.

Gracias.
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 22:59.