Php récupérer une valeur

Bonjour,
j'ai un souci: J'ai une base de données avec plusieurs tables
avec un formulaire,j'alimente une table "membres" avec par exemple les champ "fonction" et "id_b"
dans la table fonctbureau, à chaque valeur du champ "poste" est attribué une valeur "id_b"
Je voudrais que lorsqu'on a sélectionné une fonction (c.a.d. un poste) dans le formulaire, on puisse obtenir la valeur de id_b de 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

//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 ;
?>
Configuration: Windows XP
Firefox 3.0.13

4 réponses

  1. Essai:
    $sql='SELECT id_b FROM fonctbureau WHERE poste = "'.$fonction.'"';
    $retour = mysql_query($sql) or die (Mysql_error()) ;
    0
    1. Bonjour Thenull,

      Je pense voir ton probleme mais je suis pas sur, peux tu me reexpliquer un peu mieux l'organisation de tes tables.
      Deja y a t'il 2 table ? ( Membres et Fonctbureau ) ?

      Et si oui :
      Membre = 2 colonnes : fonction et id_b
      Fonctbureau = 2 colonne : poste et id_b

      C'est ça ?
      0
      1. Premièrement, peut-tu faire:
        echo $sql;

        Met le résultat ici.

        Ensuite je te conseil juste avant ta requête de faire la chose suivante:
        $sql='SELECT count(*) FROM fonctbureau WHERE poste = "'.$fonction.'"';
        $req = mysql_query($sql) or die (Mysql_error()) ;
        $nb = mysql_fetch_array($req);

        Rajoute une condition pour vérifier $nb[0] qui correspondra au nombre de résultat.
        if($nb[0]=='0')
        {echo 'Aucun résultat.';}
        else
        {
        ....
        }

        En remplaçant ... par ton code qui sera utilisé dans le cas ou $nb[0] sera différent de 0.
        0