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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Dure de trouver un titre !!! Récupération d'un variable lié a un select

par kweb » 27 sept. 2007, 18:30

Comme quoi, je progresse :lol:
merci

par Ryle » 27 sept. 2007, 17:15

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 ;)

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

par kweb » 27 sept. 2007, 16:59

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