Foros del Web » Programando para Internet » PHP »

Mostrar todos los renglones de una tabla

Estas en el tema de Mostrar todos los renglones de una tabla en el foro de PHP en Foros del Web. Tengo una tabla así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original clave INT ( 8 ) nombre char ( 60 ) grupo int ( 8 ) ...
  #1 (permalink)  
Antiguo 12/11/2015, 20:34
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Mostrar todos los renglones de una tabla

Tengo una tabla así:

Código MySQL:
Ver original
  1. clave INT (8)
  2. nombre char (60)
  3. grupo int (8)

Su contenido es:
... Clave / Nombre / Grupo
1) 1000 / AAAAAA / 1
2) 1001 / BBBBBB / 2
3) 1002 / CCCCCC / 3 <-- Este grupo no existe en la tabla secundaria
4) 1003 / DDDDD / 1


la recorro así:

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT m.clave, m.nombre, m.grupo
  2.                      FROM mae m
  3.                      ", $link) or die ("No ejecutado");

Además tengo una segunda tabla de GRUPO así:

... Grupo / Nombre
1) 1 / AAAAAA
2) 2 / BBBBBB


Deseo recorrer esta misma tabla junto con una tabla auxiliar, pero al hacerlo no me despliega el renglon #4
Utilizo lo siguiente:

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT m.clave, m.nombre, m.grupo
  2.                      FROM mae m
  3.                      LEFT JOIN grupo g ON m.grupo=g.grupo
  4.                      ", $link) or die ("No ejecutado");

Entiendo no despliega el registro #3 del detalle por no encontrarse en la tabla GRUPO el registro #3

¿Como debo formar mi instrucción para desplegar todos estos registros?

Gracias.
  #2 (permalink)  
Antiguo 12/11/2015, 21:13
Avatar de gonzaherrera77  
Fecha de Ingreso: noviembre-2015
Mensajes: 60
Antigüedad: 9 años
Puntos: 7
Respuesta: Mostrar todos los renglones de una tabla

Podrias dejar un modelo entidad relación de tu base de datos para poder entender mas tu diseño.

Te dejo un ejempplo : Yo desde mi poco experiencia crearia asi la dos tabla

tabla1

id_clave|id_grupo

el campo id_grupo es clave foranea de la tabla2

tabla2

id_grupo|nom_grupo

para mostrar todos los datos, hago una consulta cruzada

Código SQL:
Ver original
  1. SELECT id_clave, tabla2.id_grupo, tabla2.nom_grupo FROM tabla1 LEFT JOIN tabla2 ON tabla1.id_grupo = tabla2.id_grupo

Ahora me dara todos los registro, igual si la clave no tiene referencia con ningun grupo de la tabla2.

Espero que se halla entendido algo.

¡Saludos!
  #3 (permalink)  
Antiguo 12/11/2015, 21:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Mostrar todos los renglones de una tabla

¿No crees que tu consulta corresponde más a cómo formular la consulta de SQL y poco tiene que ver con el código PHP que muestras?

Digo, por más que modifiques el código PHP eso no corregirá por arte de mágica tu consulta de SQL.

Primero deberías aprender a formular dicha consulta antes de querer ejecutarla con PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 12/11/2015, 22:10
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Mostrar todos los renglones de una tabla

Saludo
Pues empezando, ¿para que se hace el LEFT si no se están
trayendo campos de la otra tabla en la consulta?
¿Solo para validación?

De ser así, por la razón que se menciona es que no lo muestra.
El asunto es ¿Qué se quiere lograr?
¿Traer todos los registros? Pues fuera LEFT, o intentar con RIGHT, o una subconsulta,
depende de lo que se quiera lograr.

Y sí el tema es de query, es en el foro de base de datos
donde se debe postear ese tipo de dudas.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 12/11/2015 a las 22:16
  #5 (permalink)  
Antiguo 12/11/2015, 22:58
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Mostrar todos los renglones de una tabla

1) Gracias gonzaherrera77... Mi expresión es algo similar a la que indicas.
2) Estimado mortiprogramador: Tienes razón, no incluí el dato de la tabla #2.

La expresión la escribí aquí mismo "al vuelo". La reescecribo
Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT m.clave, m.nombre, m.grupo, g.nombre
  2.                   FROM mae m
  3.                   LEFT JOIN grupo g ON m.grupo=g.grupo
  4.                   ", $link) or die ("No ejecutado");

En este caso, solo me muestra los renglones en donde SI existe la correspondencia a la Tabla GRUPOS.

Deseo que muestre todos los registros de la tabla MAE aún cuando no exista la correspondiente a GRUPO.

Nuevamente gracias por sus comentarios.

Etiquetas: 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 21:59.