Php récupérer une valeur

thenull Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
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 ;
?>

4 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Essai:
$sql='SELECT id_b FROM fonctbureau WHERE poste = "'.$fonction.'"';
$retour = mysql_query($sql) or die (Mysql_error()) ;
0
thenull Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Pas mieux
0
jojonux Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
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
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
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