Réponse acceptée !
Salut,
Ma problématique est que je ne sais pas comment récupérer l'ID_PlateForme et l'ID_Pays depuis la liste déroulante.
Deux raisons à ça :
- La table Mdp ne contient pas les bonnes informations
- Tu n'utilises pas la balise <option> correctement.
Avant tout, tu DOIS stocker dans la table Mdp l'ID du pays et de la plateforme. Pas leurs noms. Sinon, les tables Pays et Plateforme ne servent à rien.
Elle doit donc ressembler à ça :
Table : Mdp
Champs 1 : ID_Mdp
Champs 2 : Login_Mdp
Champs 3 : Mdp_Mdp
Champs 4 : ID_PlateForme
Champs 5 : ID_Pays
A partir de là, la requête :
Code :
SELECT * FROM Mdp ORDER BY Nom_PlateForme ASC
doit être modifiée de la sorte :
Code :
SELECT Mdp.*, Pays.Nom_Pays, Plateforme.Nom_PlateForme
FROM Mdp
LEFT JOIN Pays ON Mdp.ID_Pays=Pays.ID_Pays
LEFT JOIN Plateforme ON Mdp.ID_PlateForme=Plateforme.ID_PlateForme
ORDER BY Plateforme.Nom_PlateForme ASC;
Tu récupèreras ainsi les champs de la table Mdp ainsi que les champs Nom_Pays et Nom_PlateForme (issus respectivement des tables Pays et de Plateforme) correspondant aux ID stockés dans la table Mdp pour chaque enregistrement.
Tes listes <select>, plus précisément les balises <option>, doivent avoir l'attribut
value défini pour que le formulaire puisse renvoyer leur valeur :
Code PHP :
<select name="PlateForme">
<?php
$retour_plateforme = mysql_query("SELECT * FROM PlateForme ORDER BY Nom_PlateForme ASC");
while($donnees_plateforme=mysql_fetch_array($retour_plateforme)) {
echo '<option value="'.$donnees_plateforme['ID_PlateForme'].'">'.$donnees_plateforme['Nom_PlateForme']."</option>\n";
}
?>
</select>
Ce code tient compte de la modification de la table Mdp (indispensable, sinon on ne récupère pas ID_PlateForme ni ID_Pays).
Sinon, tu as deux champs qui portent le même nom (les champs de type hidden : name="id") : c'est "interdit" (c'est mal, très mal).
--
Neige
Souvent la réponse à votre question se trouve dans la
doc. Commencez par là ;)