Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mostrar una valor de una consulta

Estas en el tema de Mostrar una valor de una consulta en el foro de Mysql en Foros del Web. Buenas, tran buscar, y buscar por San Google (que para consultas en programación, tiene un hijo: San Foros de Web ) no doy con la ...
  #1 (permalink)  
Antiguo 25/07/2011, 11:43
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Información Mostrar una valor de una consulta

Buenas, tran buscar, y buscar por San Google (que para consultas en programación, tiene un hijo: San Foros de Web ) no doy con la solución a mi problema.

El problema es que quiero mostrar 3 consultas por pantalla de manera que:

En 1 se muestre las tablas que tiene mi base de datos:
En 2 se muestre un campo de determinado de la tabla que se muestre.
En 3 se muestren todos los campos de restantes.

Ejemplo:

Código:
TABLAS  ||  CAMPOS

Futbol
             {
              Inscriptor_1
              nombre inscriptor_1
              apellido inscriptor_1
              telefono inscriptor_1
              Inscriptor_2
              nombre inscriptor_2
              apellido inscriptor_2
              telefono inscriptor_2
              }
pantallas
              {
                Inscriptor_3
                Inscriptor_4
               }
teclados
               {
               [...]
                }
En pantalla me salen los nombres de las tablas.

Si selecciono una me salen los campos de dentro de estas, es decir los inscritores. Y al seleccionar inscritor necesito que salgan los restantes campos que seria el resto de información del mismo.

Es decir

-----------------------
Futbol
Pantallas
Teclados
------------------------
Si seleccionamos por ejemplo futbol
Futbol ---- inscriptor_1
---------- inscriptor_2
---------- inscriptor_3
--------------------------
Si seleccionamos inscriptor_1 saldrian el resto de campos relacionados con este:
Futbol - inscriptor_1 -------- nombre inscriptor_1
--------------------------- apellido inscriptor_1
--------------------------- telefono inscriptor_1

Espero que me hayan entendido, porque no sé como explicarlo mejor. Yo me estoy volviendo mejor porque no logro sacarlo. Un saludo compañeros!!
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #2 (permalink)  
Antiguo 25/07/2011, 11:56
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Mostrar una valor de una consulta

Hola que tal.


Checa esto union SQL

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 26/07/2011, 03:18
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Mostrar una valor de una consulta

Cita:
Iniciado por skiper0125 Ver Mensaje
Hola que tal.


Checa esto union SQL

Saludos
No, no pretendo anidar datos de dos tablas diferentes, no comprendiste del todo lo que quería decir. Pero muchas gracias por tu ayuda.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #4 (permalink)  
Antiguo 26/07/2011, 03:38
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar una valor de una consulta

Tienes que ser más claro en tu explicación. No me quedan nada claras las estructuras de las tablas. No sé si los incriptores son los mismos en unas tablas y en otras. No sé si los datos de nombre, apellidos y teléfono están sólo en la tabla Fútbol y los quieres para las otras. En fin... quedan muchas dudas, yo empezaría por poner la estructura de las tablas, definiendo bien nombre, campos y claves primarias, así facilitarás un poco nuestra valor.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 26/07/2011, 03:57
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Mostrar una valor de una consulta

Cita:
Iniciado por vgonga1986 Ver Mensaje
Tienes que ser más claro en tu explicación. No me quedan nada claras las estructuras de las tablas. No sé si los incriptores son los mismos en unas tablas y en otras. No sé si los datos de nombre, apellidos y teléfono están sólo en la tabla Fútbol y los quieres para las otras. En fin... quedan muchas dudas, yo empezaría por poner la estructura de las tablas, definiendo bien nombre, campos y claves primarias, así facilitarás un poco nuestra valor.

Un saludo.
Si, quizás tengas razón, pero no habia echo las estructuras aún bajo Sql puesto que no sabia como conseguir lo que busco. Mira les pongo lo que necesitan para que les aclare un poco la cosa. Por ejemplo;

Código:
CREATE TABLE futbol
(nombre_equipo char(50),
jugador_nombre char(50),
jugador_apellido(50),
PRIMARY KEY (nombre_equipo))
)

CREATE TABLE tenis
id, int(15)
jugador1_nombre char(50),
jugador1_apellido(50),
PRIMARY KEY (id))
Y ahora quiero que una vez insertado los datos del formulario. En pantalla se muestre PRIMERO las tablas con sus nombres, y al seleccionar una, se muestre la primary key es decir: en el ejemplo, en pantalla nos saldrian
Futbol
Tenis

Y si pulsamos Futbol, debería imprimir en pantalla todos los resultados de nombre_equipo

No se si me habré explicado mejor. Espero que si. Muchas gracias a todos y un saludo!
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #6 (permalink)  
Antiguo 26/07/2011, 04:08
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar una valor de una consulta

Bueno, viendo las tablas que tienes, te aconsejaría que le echaras un vistazo a algún manual de diseño de bases de datos, porque si sigues haciendo tu aplicación con esas tablas vas a tener muchas comeduras de cabeza. Necesitas un diseño mejor, luego lo demás se te simplificará.

Yo añadiría por lo menos una tabla llamada Jugador donde guardaría los datos del jugador y con una clave primaria tipo int autoincremental (id_jugador, por ejemplo), ya que no tiene mucho sentido almacenar los jugadores en la misma tabla que los equipos.

Pero repito, échale un ojo a algún manual de diseño de bases de datos para guiarte mejor, una buena estructura de tablas te ahorra muchos quebraderos de cabeza.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #7 (permalink)  
Antiguo 26/07/2011, 04:16
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Mostrar una valor de una consulta

Miren ahora les ilustro lo que pretendo con una imagen que hice, la acabo de subir a un servidor, la pueden ver abajo. ¿Cómo me recomiendan lograr tal cosa? ¿Cómo lo harian ustedes?

http://www.sanchezcreation.es/imagen.html
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #8 (permalink)  
Antiguo 26/07/2011, 04:37
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar una valor de una consulta

Siguen sin quedarme claras las tablas, me dices que vas a tener una tabla como sigue:
Código:
CREATE TABLE futbol
(nombre_equipo char(50),
jugador_nombre char(50),
jugador_apellido(50),
PRIMARY KEY (nombre_equipo))
)
Pero luego me pones que vas a guardar varios jugadores, cuántos? Vas a poner un registro en la tabla por cada jugador o todos en el mismo registro. Cuántas columnas de nombre de jugador vas a poner, porque si quieres guardar todos los jugadores del equipo en la misma tabla, vas a tener que tener muchas columnas.

En serio, te parecerá una pérdida de tiempo, pero mírate un manual, te facilitará mucho las cosas, hazme caso. Tardarás mucho menos.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 26/07/2011, 06:07
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Mostrar una valor de una consulta

Cita:
Iniciado por vgonga1986 Ver Mensaje
Siguen sin quedarme claras las tablas, me dices que vas a tener una tabla como sigue:
Código:
CREATE TABLE futbol
(nombre_equipo char(50),
jugador_nombre char(50),
jugador_apellido(50),
PRIMARY KEY (nombre_equipo))
)
Pero luego me pones que vas a guardar varios jugadores, cuántos? Vas a poner un registro en la tabla por cada jugador o todos en el mismo registro. Cuántas columnas de nombre de jugador vas a poner, porque si quieres guardar todos los jugadores del equipo en la misma tabla, vas a tener que tener muchas columnas.

En serio, te parecerá una pérdida de tiempo, pero mírate un manual, te facilitará mucho las cosas, hazme caso. Tardarás mucho menos.
Te haré caso y miraré manuales. El motivo en cuestión de este post era que quiero administrar 2 actividades como son futbol y tenis. Mis usuarios se van a inscribir en una u otra. En la actividad de futbol solicitaré el nombre del equipo, y los nombres y apellidos y telefono de 10 jugadores (de ese equipo). Y en la de tenis solo solicitaré los nombres y apellidos del jugador que se inscriba.

Así finalmente podré mostrar en pantalla las actividades que hay, y en el caso del futbol, cuántos equipos hay y qué jugadores lo componen. Y en el caso del tenis, podremos ver qué jugadores hay inscritos.

Era simplemente eso, pero como veo lo di a entender bastante mal. Si alguien me echa un cable se lo agradeceré, yo mientras estaré haciendo uso del consejo de Vgonga1986.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #10 (permalink)  
Antiguo 26/07/2011, 08:48
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar una valor de una consulta

Yo te recomendaría algo así:
Código:
CREATE TABLE Jugador (
    id_jugador integer autoincrement,
    nombre varchar(50),
    apellidos varchar(50),
    telefono integer,
    PRIMARY KEY (id_jugador)
);
CREATE TABLE Equipo (
    id_equipo integer autoincrement,
    nombre varchar(50)
    PRIMARY KEY (id_equipo)
);
CREATE TABLE Futbolista (
    id_futbolista integer autoincrement,
    id_jugador integer,
    id_equipo integer,
    PRIMARY KEY (id_futbolista),
    FOREIGN KEY (id_jugador) REFERENCES Jugador (id_jugador),
    FOREIGN KEY (id_equipo) REFERENCES Equipo (id_equipo)
);
CREATE TABLE Tenista (
    id_tenista integer autoincrement,
    id_jugador integer,
    PRIMARY KEY (id_tenista),
    FOREIGN KEY (id_jugador) REFERENCES Jugador (id_jugador)
);
De esta forma, los datos de los jugadores los tienes todos en la misma tabla, sin necesidad de llenar las demás tablas de datos innecesarios. En la tabla Equipo tienes el nombre de los equipos. Y las tablas Futbolista y Tenista relacionan un jugador con el deporte que va a practica y, en caso, de futbolistas, los relaciona también con el equipo en que se han inscrito.

Con esta estructura, un mismo jugador podrá tener la opción (desde base de datos) de apuntarse a tenis y a fútbol a la vez y podrá, además, cambiar de equipo o apuntarse en dos, ya depende de lo que restrinjas en el código PHP y en los formularios. Además, los equipos podrán tener un número variable de jugadores, no necesariamente un número fijo y, si se añade uno más, tan sólo tienes que añadirlo en la tabla Futbolista, no tienes que modificar Equipo para nada.

Con esto, para insertar un tenista, sacando los datos del formulario tendrás que convertir en dos inserts:
Código:
INSERT INTO Jugador (nombre, apellidos, telefono) VALUES ("Paco", "Raqueta Rota", 658xxx595) // Inserta una línea nueva y le asigna un id
INSERT INTO Tenista (id_jugador) VALUES (id_del_jugador)
Y para insertar un equipo:
Código:
INSERT INTO Equipo (nombre) VALUES ("Los fallones") // Inserta el equipo y le asigna un id_equipo
INSERT INTO Jugador (nombre, apellidos, telefono) VALUES
("Portero", "Manos Cortas", 658xxx548),
("Defensa", "Queno Salta", 685xxx210),
("Delantero", "Falla Goles", 610xxx014) // Inserta tres jugadores y les asigna un id_jugador
INSERT INTO Futbolistas (id_jugador, id_equipo) VALUES
(id_jugador_1, id_equipo),
(id_jugador_2, id_equipo),
(id_jugador_3, id_equipo)
Espero que te ayude la idea, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #11 (permalink)  
Antiguo 26/07/2011, 08:54
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Mostrar una valor de una consulta

De esta forma, para conseguir lo que tú querías, tendrías que hacer las siguientes consultas:

Código:
SELECT nombre FROM Equipos // Devolvería una lista con todos los equipos inscritos.
SELECT J.nombre, J.apellidos, J.telefono FROM Tenista T, Jugador J WHERE (J.id_jugador = T.id_jugador) // Devolvería una lista de nombre, apellidos y teléfono de todos los jugadores inscritos en tenis.
SELECT J.nombre, J.apellidos, J.telefono FROM Futbolista F, Jugador J WHERE (J.id_jugador = F.id_jugador) AND (id_equipo = el_que_tu_quieras) // Devolvería una lista de los jugadores inscritos en fútbol, en el equipo el_que_tu_quieras
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: php, tabla
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 17:50.