[Formulaire] Liste déroulante qui défini plusieurs champs

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

[Formulaire] Liste déroulante qui défini plusieurs champs

Message le Jeu Nov 11, 2004 16:35

Bon, un nouveau problème, toujour sur les formulaires.

Je souhaiterais qu'un liste déroulante me renseigne le champs de la liste (normal), plus 3 autre champs caché à l'utilisateur.

Exemple:

Liste déroulante avec nom de pilote de F1 + 1 champ "chrono"
Je choisi un nom, je remplis le champ "chrono", et lors de l'insert dans ma table, les champs hidden "pays", "ecurie", "chassis" soient automatiquement inseré.

Merci :wink:

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Jeu Nov 11, 2004 19:47

Ca s'est a faire dans la db pas dans le html. un petit SQL du type:
INSERT INTO table1 (nom, chrono, pays, ecurie, chassis )
SELECT '$nom','$chrono', pays, ecurie, chassis FROM table2
WHERE nom='$nom';
:wink: Prepare la monnaie !!!

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

...

Message le Jeu Nov 11, 2004 23:59

Nan, c'est pas ça.... :)

Je m'explique.
Exemple
J'ai une table : pilote
avec les champs suivants: Nom, Ecurie, Chassis
Les champs sont déjà tous renseignés grâce à un formulaire.

Je souhaite renseigner une autre table: Course grâce à un formulaire.
Dans cette table, je dois renseigner les champs suivants: Nom, Ecurie, Chassis, Temps, Classement.

Seulement, je ne veux pas à avoir à rentrer à nouveau les même champs que ceux de la table Pilote.
Je cherche donc à faire un formulaire, qui me propose 2 champs texte Temps et Classement ainsi qu'un champs Nom en liste déroulante.
Grâce à cette liste, je souhaite en choisissant un nom, renseigner en hidden les champs Ecurie, et Chassis.
Et INSERT INTO tout ça dans ma table Course.

Voilà.


kalex
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 241
Inscription: Mar Sep 14, 2004 16:13

Message le Ven Nov 12, 2004 0:09

Je n'ai pas de solution concrète. Mais c'est une très mauvaise solution de dupliquer les données dans ta base. Tu es sur que des foreign keys ne seraient pas plus adaptées ?

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

...

Message le Ven Nov 12, 2004 1:10

Peut être, mais je n'y ai jamais rien compris... :roll:


jerome347
WRInaute passionné
WRInaute passionné
 
Messages: 573
Inscription: Ven Mar 19, 2004 13:09

Message le Ven Nov 12, 2004 1:11

En faisant un select avant ton insert ?

Tu rentre nom, temps et classement
Tu fais un select * from pilote where pilote = nom
Et tu fais un insert nom, temps, classement, et ce qui est issu du select

Ceci dit, comme dit kalex, pourquoi vouloir dupliquer ecurie et chassis aussi dans la table course ?

tradjus
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Sam Avr 03, 2004 23:22

Message le Ven Nov 12, 2004 8:20

C'est très exactement ce que je proposais:

INSERT INTO course (nom, chrono, pays, ecurie, chassis )
SELECT '$nom','$chrono', pays, ecurie, chassis FROM pilote
WHERE nom='$nom';

Note la différence entre '$nom' et pays par exemple.
'$nom' -> un string venant du form
pays -> le nom de la colonne de la table pilote

Ca devrait marcher.


kalex
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 241
Inscription: Mar Sep 14, 2004 16:13

Re: ...

Message le Ven Nov 12, 2004 11:41

Grantome a écrit:Peut être, mais je n'y ai jamais rien compris... :roll:
Par exemple, tu pourrais faire deux tables, comme ceci :

Table pilote :
ID | NOM | ECURIE | CHASSIS
(ID est un chiffre unique, incrémenté de 1 à chaque insertion)

Table course
TEMPS | CLASSEMENT | ID_PILOTE
(ID_PILOTE se rapporte, à l'ID de la table pilote)

La requête pourrait ressembler à ceci :
SELECT * FROM course LEFT JOIN pilote ON course.ID_PILOTE = pilote.ID

Ainsi, tu éviterais de dupliquer les informations, ce qui est presque toujours une mauvaise chose.

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

Message le Ven Nov 12, 2004 23:47

Ahhhh ok, autant pour moitradjus, j'avais pas compris.

Ta petite affaire et à peu près ce que javais fait, mais je pensais qu'il existait une méthode plus direct.

Quand aux Foreign Keys, c'est en effet pas, mal, mais leur utilisation aurait du être faites dès le début... now, ç'est un peu tard :-) Tanpis.

Merci à tous. Tout est ok.


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités