Foros del Web » Programando para Internet » PHP »

PHP POO MysQL consulta multitabla

Estas en el tema de PHP POO MysQL consulta multitabla en el foro de PHP en Foros del Web. Amigos, probablemente, esto es una pregunta estúpida, pero recientemente he empezado a programar con PHP orientado a objetos y quisiera saber cuál es la mejor ...
  #1 (permalink)  
Antiguo 02/09/2010, 16:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 11 años, 8 meses
Puntos: 300
PHP POO MysQL consulta multitabla

Amigos,
probablemente, esto es una pregunta estúpida, pero recientemente he empezado a programar con PHP orientado a objetos y quisiera saber cuál es la mejor manera para hacer consultas multitabla y recoger los datos. Me refiero a sacar una lista como la que os indicaré.
Pongo las tablas sencillas:
Persona
idpersona, nombre, apellidos

Telefonos
idtelefono, numero, idpersona

Una persona puede tener ninguno o varios teléfonos.
No os asustéis, no es una pregunta de base de datos.

Si yo quiero sacar un listado de todas las personas cons sus datos en una línea y debajo, en otra, sus teléfonos, si los tiene, ¿qué es lo habitual en programación con PHP POO:

1) cargar en un método la consulta de todos los datos de la tabla persona
cargar en otro método la consulta de todos los teléfonos con el idpersona de la persona
recorrer el primer array, el cargado con el primer método, y luego dentro de ese array, recorrer el segundo comparando los idpersona. (tal vez en otro método)

2) hacer una consulta con LEFT JOIN sea o no con GROUP_CONCAT, aunque en un caso se producirá la repetición de nombres y otros campos sobre la que habrá que trabajar; y en otro, nos encontraremos con la necesidad de crear un array con explode sobre el que luego habrá que trabajar para mostrarlo

3) alguna otra solución

gracias

Última edición por jurena; 03/09/2010 a las 01:18

Etiquetas: consulta, metodos, multitabla, mysql, poo
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 08:25.