Ver Mensaje Individual
  #10 (permalink)  
Antiguo 26/07/2011, 08:48
Avatar de vgonga1986
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?