Php select présection et
thenull
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
thenull Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
thenull Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai deux problèmes
1) J'ai un formulaire avec un select alimenté par une base de données (table fonctbureau) dans lequel je voudrais faire apparaître en préselection une valeur venant d'une autre table (membres), et pouvoir éventuellement la modifier. Or je n'y arrive pas: si en cliquant sur le select "fonction", j'obtiens bien ma liste, la présélection que je voudrais n'est pas prise en compte: rien n'est sélectionné au départ. Est-ce possible d'y arriver ?
2) à chaque valeur de fonction correspond dans la table fonctbureau, un numéro de fonction id_b . Je voudrais que lorsqu'on a sélectionné une fonction dans le formulaire ci dessus, on puisse obtenir la valeur de id_b dans la table fonctbureau pour l'afficher ainsi que la fonction choisie. Or ça marche pas: quand je fais echo, la valeur de $fonction s'affiche, mais pas celle de $idb. Où me suis-je trompé ?
code de ma page envoi.php
J'ai deux problèmes
1) J'ai un formulaire avec un select alimenté par une base de données (table fonctbureau) dans lequel je voudrais faire apparaître en préselection une valeur venant d'une autre table (membres), et pouvoir éventuellement la modifier. Or je n'y arrive pas: si en cliquant sur le select "fonction", j'obtiens bien ma liste, la présélection que je voudrais n'est pas prise en compte: rien n'est sélectionné au départ. Est-ce possible d'y arriver ?
<?php require_once('../../Connections/connect.php'); //connection à la base mysql_select_db("base"); // Sélection de la base if (isset($_GET['modifier_membre'])) // Si on demande de modifier un membre { // On protège la variable "modifier_membre" pour éviter une faille SQL $_GET['modifier_membre'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_membre'])); // On récupère les infos du membre correspondant $retour = mysql_query('SELECT * FROM membres WHERE id=\'' . $_GET['modifier_membre'] . '\'') ; $donnees = mysql_fetch_array($retour); <form action="menvoi.php" method="post" name="inscr" id="inscr" ><?php $id = $donnees['id']; $fonction1 = $donnees['fonction']; // mise en variable du contenu du champ fonction echo '<select name="fonction" value >'; $resfonction=mysql_query("SELECT poste FROM fonctbureau ORDER BY id_b") ; echo '<option value= "'.$fonction1.'"></option>'; //option préselectionnée avec l'ancienne fonction (théoriquement) while ($ligne=mysql_fetch_array($resfonction)) { echo '<option >'.$ligne["poste"].'</option>'; } echo '</select>'; ?> <input type="hidden" name="id" value="<?php echo $id; ?>" </form>
2) à chaque valeur de fonction correspond dans la table fonctbureau, un numéro de fonction id_b . Je voudrais que lorsqu'on a sélectionné une fonction dans le formulaire ci dessus, on puisse obtenir la valeur de id_b dans la table fonctbureau pour l'afficher ainsi que la fonction choisie. Or ça marche pas: quand je fais echo, la valeur de $fonction s'affiche, mais pas celle de $idb. Où me suis-je trompé ?
code de ma page envoi.php
<?php require_once('../../Connections/connect.php'); //connection à la base mysql_select_db("base"); // Sélection de la base $fonction = $_POST['fonction']; //recherche de la valeur de id_b correspondante à la fonction dans la table fonctbureau $retour = mysql_query('SELECT id_b FROM fonctbureau WHERE poste = "$fonction"') or die (Mysql_error()) ;//selection du champ id_b dans la table fonctbureau $donnees = mysql_fetch_array($retour); // mise en variable de cette valeur $idb = $donnees['id_b']; echo $fonction ; echo $idb ; ?>
A voir également:
- Php select présection et
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Please select boot device - Forum Windows 7
- Reboot and select proper boot device - Forum Windows
2 réponses
je suppose que le champ poste d'une des tables est identique au champ fonction de l'autre:
<?php require_once('../../Connections/connect.php'); //connection à la base mysql_select_db("base"); // Sélection de la base if (isset($_GET['modifier_membre'])) // Si on demande de modifier un membre { // On protège la variable "modifier_membre" pour éviter une faille SQL $_GET['modifier_membre'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_membre'])); // On récupère les infos du membre correspondant $retour = mysql_query('SELECT * FROM membres WHERE id=\'' . $_GET['modifier_membre'] . '\'') ; $donnees = mysql_fetch_array($retour); ?> <form action="menvoi.php" method="post" name="inscr" id="inscr" > <?php $id = $donnees['id']; $fonction1 = $donnees['fonction']; // mise en variable du contenu du champ fonction echo '<select name="fonction" value >'; $resfonction=mysql_query("SELECT poste FROM fonctbureau ORDER BY id_b") ; while ($ligne=mysql_fetch_array($resfonction)) { echo '<option value="'.$ligne["poste"].'"'; if($ligne["poste"]==$fonction1){echo 'selected';}//option préselectionnée avec l'ancienne fonction (théoriquement) echo '>'.$ligne["poste"].'</option>'; } echo '</select>'; ?> <input type="hidden" name="id" value="<?php echo $id; ?>"> </form>