Foros del Web » Programando para Internet » PHP »

hay una mejor manera?

Estas en el tema de hay una mejor manera? en el foro de PHP en Foros del Web. espero puedan ayudarme con esta duda tengo unas tablas en mi base de datos pais: id , nombre departamento: id , paisID ciudad: id , ...
  #1 (permalink)  
Antiguo 28/10/2005, 16:17
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
hay una mejor manera?

espero puedan ayudarme con esta duda
tengo unas tablas en mi base de datos

pais: id, nombre
departamento: id, paisID
ciudad: id, departamentoID
lugar: id, ciudadID

circuito: id, nombre

lugares_circuito: circuitoID, lugarID

pais -> departamento -> ciudad -> lugar
esas cuatro son como un arbol, cada uno tiene un indice secundario que indica a qué padre pertenece

un Circuito puede incluir varios lugares de cualquier pais
por eso una sexta tabla que enlaza los circuitos y lugares

tengo el id de Circuito ($_GET['id'])
necesito sacar los datos de un circuito...
lo primero que hago es una consulta para saber qué lugares incluye ese circuito, luego otra consulta para saber a qué ciudades pertenece cada lugar y asi hasta obtener el pais
osea tengo que hacer varias consultas

hay una mejor manera de hacer ese trabajo? con alguna consulta SQL mejor preparada?

lo mismo para las busquedas....
buscar circuitos que pertenezcan al pais tal ciudad tal
o buscar circuitos que incluyan tales lugares

ayudas porfa :D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #2 (permalink)  
Antiguo 28/10/2005, 16:24
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 9 meses
Puntos: 125
haciendo JOIN a través de las tablas..enlazadas... (IDs) a través de sus id.
y al hacer la consulta puedes ir generando los WHERE dependiendo de la selección de las opciones de búsqueda.!
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 09:55.