Page 1 sur 1

Dure de trouver un titre !!! Récupération d'un variable lié

Posté : 27 sept. 2007, 16:59
par kweb
Sachez que grâce à vous je progresse dans mon apprentissage en php (ce qui n'est pas une mince affaire lorsque on est graphiste) et un jour je donnerais peu êtres de conseilles ici :lol:

Dans la continuité de mon problème.... cette fois ci, je ne vois pas comment récupérer "l'id" du "select" qui a la valeur "selected", étant donné que le "value" contient déja une autre variable autre que l'ID.

Pour ceux qui n'auraient pas suivi mes ancien post, voici un pt'it récap.

J'ai deux tables "FORMATION" & "CATEGORIE" - (Formation est lié catégorie)

Code : Tout sélectionner

-- -- Structure de la table `categorie` -- CREATE TABLE `categorie` ( `id_categorie` int(11) NOT NULL auto_increment, `txt_categorie` varchar(250) NOT NULL, KEY `id_categorie` (`id_categorie`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ; -- -------------------------------------------------------- -- -- Structure de la table `formation` -- CREATE TABLE `formation` ( `id_formation` int(11) NOT NULL auto_increment, `id_categorie_formation` int(11) NOT NULL, `nom_formation` varchar(250) NOT NULL, `date_formation` date NOT NULL, `ville_formation` varchar(250) NOT NULL, `pays_formation` varchar(250) NOT NULL, `publique_formation` longtext NOT NULL, `objectif_formation` longtext NOT NULL, `description_formation` longtext NOT NULL, `program_formation` longtext NOT NULL, KEY `id_formation` (`id_formation`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
Une "FORMATION" est toujours lié à une "CATEGORIE" (j'ai donc mis un champs "id_categorie_formation" dans la table "formation" pour récupérer l'id de la table catégorie)

Dans une des pages, je remonte les infos de la BD (formation et categorie) pour pour pouvoir les afficher et donnés la possibilité de les modifier.

Lors de l'envoie des variables a la BD pour la mettre à jour, j'arrive à récupérer toutes les variables sauf l'ID de la table categorie (id_categorie).
je m'explique, j'utilise un menu déroulant "select" pour afficher toutes les catégories existantes et sélectionner (selected) la bonne catégorie qui est lié a la formation.
la "value" de chaque catégorie et le nom de la catégorie. Hhhheuuuuuu :roll: !!! OUI c'est sa ;-)
Ci-dessous la syntaxe pour mieux comprendre.
<select name="themes" id="themes">
<option value="">S&eacute;l&eacute;ctionner</option>
<?php 
								
$select2 = " SELECT formation.*, categorie.* FROM formation, categorie WHERE formation.id_formation = $modifier ";
$selected_retour = mysql_query ($select2) or die (mysql_error());
                                
while ($ligne = mysql_fetch_assoc($selected_retour)) 
{    	
echo '<option value="'.$ligne['txt_categorie'].'"';
                                    
// On vérifie que "id_categorie_formation est égal à "id_formation", si OK on affiche "selected"
if ( $ligne['id_categorie_formation'] == $ligne['id_categorie'] )
{
echo ' selected="selected"';
} 
											
echo ">".$ligne['txt_categorie']."</option>\n";
} 
?>
</select>
Donc, je ne vois pas comment je peux récupérer "id_formation" etant donnée que la valeur du "value" est déja prise par "txt_categorie" ??

merci pour votre aide

Posté : 27 sept. 2007, 17:15
par Ryle
Tu as énnoncé toi même la réponse : les attributs "value" de ton select doivent contenir les id de chaque catégorie.

Le texte à destination de l'utilisateur est placé entre les balises <option></option>, le value t'es réservé, tu y mets ce que tu veux, et en l'occurence, ce qui t'arrange, c'est à dire l'id. Plus de problème ensuite pour récupérer cette valeur lorsque le formulaire est soumit ;)

Posté : 27 sept. 2007, 18:30
par kweb
Comme quoi, je progresse :lol:
merci