PHP/MYSQL lié deux tables a partir d'une list

Fermé
123biwei Messages postés 24 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 3 novembre 2011 - 8 août 2007 à 10:08
phil470 Messages postés 3 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 27 décembre 2007 - 27 déc. 2007 à 06:27
Bonjour à tous. Je suis un autodidacte en php et surtout debutant. (donc pardonnez mes eventuels fautes de vocabulaire)
Pour mon equipe de foot je veux inscrire les joueurs pour chaque match. En php/mysql.

Deux tables: match et joueurs

dans la table feuille un champs joueurs, rempli sous forme de liste: id1;id2;id3

pour ecrire et recuperer le noms des joueurs dans la liste je fais un truc assez hasardeux (qui marche mais bon y'a certainement plus simple): je recupere le champs, le decoupe en array fais un recherche array et si ca coincide j'inscrit le nom..

$presents=explode (";", $selection_id);
 $key = array_search($row_joueurs['user_id'], $present);
     if ($key!=FALSE){
	     $presents_nom=$presents.nom.$row_joueurs['nom'];}



euh.. je le refais comme ca de tete, y'a ptet des fautes mais l'idee est la et ca marche...

Qui me dit quelle est la bonne technique?

merci,

Pierre.
A voir également:

4 réponses

Une solution:

dans ta table matches tu mets deux champs

un champ match, et un champ joueurs

pour chaque match tu inséres autant de lignes que de joueurs

donc chaque ligne de ta table contiendra:
champ matchchamp joueurs
Lyon-marseille joueur1
Lyon-marseille joueur2
Lyon-marseille joueur3
etc....


ensuite pour récuperer la liste des joueurs de Lyon-marseille tu fais la requette:

$match_cherche="Lyon-marseille";
$req="SELECT joueurs FROM matches WHERE match='$match_cherche' ";

Si tu veux la liste des matchs qu'un joueur a fait:

$joueur_cherche="joueur2";
$req="SELECT match FROM matches WHERE joueurs='$joueur_cherche' ";
0
123biwei Messages postés 24 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 3 novembre 2011 4
8 août 2007 à 10:57
merci beaucoup Alain..

Le probleme c'est que dans ma table match j'ai plein d'autre infos, SCORE, HORAIRE, LIEU.... ta technique m'obligerait a remplir les x fiches match des x joueurs ayant particpé? Dis moi si j'ai tort..

Faut t'il alors faire une table intermediaire? (match_presence) ca serait complex...
0
ThErOr Messages postés 1 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 8 août 2007
8 août 2007 à 13:55
Oui en effet il serait bien d'avoir une table intermédiaire de jointure entre tes matchs et tes joueurs. Dans cette table tu retrouves l'identifiant de ton match ainsi que l'identifiant du joueur ex:

ID_JOUEUR, ID_MATCH
joueur1 , match1
joueur2 , match1
joueur3 , match1
joueur4 , match1
joueur1 , match2
joueur2 , match2

Dans ce cas la, tu peux retrouver pour chaque match qui a joué, ainsi que pour chaque joueur quel match il a joué.

Voila pour les requêtes jte laisse faire
0
123biwei Messages postés 24 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 3 novembre 2011 4
13 août 2007 à 10:54
Salut Theror,
Je viens de me passer un choeutte we a tout repasser mes codes selon ta formule... AIE..

Sinon, si je fais la meme chose pour les buts.

table buts :

Id_Mayth1, Id_joueur1
Id_Mayth1, Id_joueur3
Id_Mayth1, Id_joueur5
Id_Mayth2, Id_joueur1
Id_Mayth2, Id_joueur2
Id_Mayth3, Id_joueur3
Id_Mayth4, Id_joueur1
Id_Mayth4, Id_joueur4

Comment recuperer au plus simple le meilleur buteur?
(le nombre de but par joueur, je sais faire)


merci..
0
123biwei Messages postés 24 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 3 novembre 2011 4
14 août 2007 à 18:19
quelqu'un a t'il une solution.. please :-)
0
phil470 Messages postés 3 Date d'inscription lundi 27 août 2007 Statut Membre Dernière intervention 27 décembre 2007
27 déc. 2007 à 06:27
salut, peut-être que ce site pourra t'aider :
http://www.roodali.com/index.php?2007/06/26/4-3-listes-deroulantes-liees-avec-ajax-php-mysql
0

Discussions similaires