Php récupérer une valeur

Fermé
thenull Messages postés 12 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 10 juillet 2013 - 10 sept. 2009 à 11:56
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 12 sept. 2009 à 17:12
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 jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
10 sept. 2009 à 12:42
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 vendredi 4 septembre 2009 Statut Membre Dernière intervention 10 juillet 2013
11 sept. 2009 à 09:21
Pas mieux
0
jojonux Messages postés 21 Date d'inscription jeudi 10 septembre 2009 Statut Membre Dernière intervention 11 septembre 2009
11 sept. 2009 à 09:50
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 jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
12 sept. 2009 à 17:12
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