Jointure / pb affichage dans un while

cybermalicia Messages postés 9 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 3 mai 2006 - 3 mai 2006 à 10:15
cybermalicia Messages postés 9 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 3 mai 2006 - 3 mai 2006 à 14:27
kikou à tous !!!
Voila jsui en ce moment en train de créer un petit site dont je mettrait les sources en ligne une fois fini.

Mais pour le moment j'ai un petit souci d'affichage de requete dont voici un bout de code.

//Explications préalables : 
Ce code est un formulaire permettant ajouter suppr.... les droits d'un membre du bureau.

J'ai le même code de présent dans mes autres formulaires et tous passent correctement sauf que dans ce cas j'ai une requête avec une jointure. Je m'explique :
2 tables : 
   - une intitulée staff pour le nom prenom des membres du bureau
   - l'autre intitulée admin qui contient MDP + login.
Elles sont mises en relation grâce à id_staf présent dans les 2 tables.

<form name= "add_user" method="POST">
<select name="liste">
<?
//Je liste les membres dans un menu déroulant ca c'est ok.
$staf = mysql_query('SELECT nom_staf, prenom_staf, id_staf FROM staff ORDER BY nom_staf') or die ('erreur accès base staff');
while ($staff = mysql_fetch_array($staf))
{
echo "<option value=".$staff['id_staf'].">".$staff['nom_staf']." ".$staff['prenom_staf']."</option>";
}
?>
</select>


</form>
// fin du formulaire que j'ai abrégé.


<?//il faut que la variable soit préalablement saisie dans le menu déroulant
if (isset ($_POST['liste']))
{
$id =htmlentities(addslashes($_POST['liste']));
echo $id; // L'id_staf s'affiche bien dans ma page
//on vérifie que l'on ai appuyé sur le bouton ajouter ce qui permettra de faire la mm choz pour suppr dans le même formulaire.
if (isset ($_POST['add']))
{
//requête me permettant de mettre en relation mes 2 tables. la requête fonctionne je n'ai pas d'erreur. Je l'ai testé via phpmyadmin et ca fonctionne très bien.
$query = mysql_query ('SELECT nom_staf, prenom_staf, s.id_staf, a.id_staf, log, pass FROM staff s, admin a WHERE a.id_staf AND s.id_staf LIKE '.$id.'')or die ('erreur de requete multi');

// pas d'erreur au niveau de la requete mais je n'arrive pas a entre dans la boucle :/ ce doit être du à la jointure des 2 tables....
//J'ai testé avec une requete simple sans jointure et ca passe.


while ($r = mysql_fetch_assoc($query)or die (mysql_error())) // j'ai remplacé le mysql_error() par une phrase. la phrase s'affiche mais je n'ai aucune erreur SQL
{
?>
<form name="confirm_add_user"  method='POST'  action='rep_user.php'>

Nom  :

'>

.......

Pourriez vous m'expliquer d'où ca pourrait venir car ca fait un bon moment que je potasse dessus... :/
Merci d'avance


-=Cyberm@lici@=-

2 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
3 mai 2006 à 12:15
$query = mysql_query ("SELECT nom_staf, prenom_staf, s.id_staf, a.id_staf, log, pass FROM staff s, admin a
WHERE a.id_staf AND s.id_staf LIKE '%$id' ");
...ça ne marche pas comme ça

$query = mysql_query ("SELECT nom_staf, prenom_staf, s.id_staf, a.id_staf, log, pass FROM staff s, admin a
WHERE a.id_staf LIKE '$id%' AND s.id_staf LIKE '$id%' ");
0
cybermalicia Messages postés 9 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 3 mai 2006
3 mai 2006 à 14:27
Merci pour ta réponse sidf et pr ta rapidité mais tjs négatif :/

J'avais déjà fait de cette manière et ca ne fonctionne pas pour autant :/ (Jai même modifié le like".$id" ... enfin toutes les syntaxe qui habituellement fonctionnent bien.

J'ai retesté en copiant ton code et c'est sans succès je fé un bon ti blocage sur ce coup.

Déjà jsui pas très doué ca fait vraiment pas longtps que je m'y suis mise mais dès que je suis pour travailler avec 2 tables ca ne fonctionne pas même sur mes autres fichiers...

Je pensais ptetre que je n'utilisais pas le bon fetch :/.
Enfin tjs en cours de résolution. Dès que je trouve je poste.

merci encore

-=Cyberm@lici@=-
0
Rejoignez-nous