Requete php mysql

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
mon probleme est que ma requete ne fonctionne pas comme je voudrait, dans ma base de donnée mysql j'ai un champ droit util compose de 1 et 0
la reque te doit faire que si c'est 0 il affiche message .php et si c'est 1 ecrire et message .php
voici mon code
pour l'instant quand je l'execute il met toujours ecrire et message .php
if (!isset($_SESSION['nom'])) {

}else{

include('calendrier.php');
$req2 = 'SELECT DroitUtil
FROM utilisateur
WHERE NomUtil = "'.$_SESSION['nom'].'";';


$result2= mysql_query($req2);
while($data = mysql_fetch_assoc($result2)) {
if ($data = 0) {
include('message.php');

}else{
include('ecrire.php');
include('message.php');
}
}
}




A voir également:

13 réponses

Gado
 
Voilà ce que je propose


if (isset($_SESSION['nom']))  // pas la peine de mettre !
{  
   include('calendrier.php');
   $req2 = 'SELECT DroitUtil
   FROM utilisateur
   WHERE NomUtil = "'.$_SESSION['nom'].'";';

   $result2= mysql_query($req2);
   echo($req2);                        // j'ai remis echo pour la forme :p
   $data = mysql_fetch_array($result2) // pas besoin de boucle si on attends une seule ligne
   
   if ($data[0] == 0)  // ne pas oublier l'indice
   {     
      include('message.php');
   }
   else
   {
      include('ecrire.php');
      include('message.php');
   }
      
}
 
1
Utilisateur anonyme
 
il marque Parse error: parse error in C:\wamp\www\test 2\test 2.php on line 37
soit la ligne if ($data[0] == 0) // ne pas oublier l'indice
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
La ligne au dessus, rajoute un point virgule après la parenthèse:
$data = mysql_fetch_array($result2); // pas besoin de boucle si on attends une seule ligne
0
Gado
 
Ouais en effet, j'ai oublié de le mettre quand j'ai viré le while... ^^"
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Fait un "echo $data" pour voir "en quoi c'est différent de 0". ;)
On ne sait pas ce qu'il y a dans ta BDD nous.
0
Utilisateur anonyme
 
j'ai mis ecr(echo $data); apres la requete et il affiche : c'est a dire la ligne que je vient d'ajouter
Parse error: parse error, expecting '')'' in C:\wamp\www\calendrier\index.php on line 40

et quand je fait Resource ecr($result2); il m'affiche id #11

ma base est compse de 5 champs :
IdUtil LoginUtil MdpUtil NomUtil DroitUtil
0
justoo76 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour,

Essaye de mettre ta variable de session dans une variable simple, puis mettre cette dernière dans ta requete SQL
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
if ($data = 0) {

à remplacer par:

if ($data == 0) {
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
salut
j'ai toujours comme réponse
Resource id #11
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Fait un "echo $req2;" Pour voir si ta requête est bonne.
Montre nous ce que ça t'affiche.
0
Utilisateur anonyme
 
echo SELECT DroitUtil FROM utilisateur WHERE NomUtil = "dupont";
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
$req2 = 'SELECT DroitUtil
FROM utilisateur
WHERE NomUtil = "'.$_SESSION['nom'].'";';

à remplacer par:

$req2 = "SELECT 'DroitUtil' FROM 'utilisateur' WHERE 'NomUtil' = '".$_SESSION['nom']."'";

Attention: les apostrophes avant et après: DroitUtil utilisateur NomUtil sont les apostrophes Alt Gr + 7
0
Utilisateur anonyme
 
il me mait
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\calendrier\index.php on line 38

soit la ligne
while($data = mysql_fetch_assoc($result2)) {
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
Tu peux toujours changer mysql_fetch_assoc par mysql_fetch_array fonction qui a le même but.

Par contre si l'erreur est encore la, alors c'est la requete qui est fausse auquel cas je te propose de la revoir, surtout avec les apostrophes... peut-être un echo $req2; permettrait de savoir si $_SESSION alimente correctement la requete.

Ensuite, comme m_f_a comme m_f_a retourne un tableau donc dans ta ligne
if ($data = 0) {
Il faudrai mettre plutôt:

while{...
if ($data[0]=0) {
...etc...
}
}
0
Utilisateur anonyme
 
sa ne marche toujours pas en faisant un echo $req2 il affiche
echo SELECT DroitUtil FROM utilisateur WHERE NomUtil = "dupont";
pourtant je suis sur que ma requete est bonne :
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
il affiche echo SELECT DroitUtil FROM utilisateur WHERE NomUtil = "dupont"; ou SELECT DroitUtil FROM utilisateur WHERE NomUtil = "dupont";
C'est pas pareil du tout, et la première solution est une requête qui ne marchera pas! :)
0
Utilisateur anonyme
 
oui mais alors quel est la solution ?
0
justoo76 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   13
 
As-tu essayé ce que je t'ai dit ?
0
Utilisateur anonyme
 
oui mais meme resultat
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Colle nous ton code, tu as une erreur dedans qui fait que un "echo" s'intègre a ta requête ;)
0
Utilisateur anonyme
 
<?php
//Paramètes de connexions à la base de données
require('scripts2/bdd_param.php');
//Connexion à la base de données
require('scripts2/bdd_connexion.php');
//Récupération des fonctions
require('scripts2/fonctions.php');

//Récupération des informations de connexion
require('scripts/param.php');
//Connexion à la base de données
mysql_connect($bdd_hote,$bdd_login,$bdd_mdp) or die('Erreur de connexion au serveur MySQL');
//Sélection de la base de données
mysql_select_db($bdd_nom) or die('Erreur de sélection de la base de données');

//Sessions
session_start();

//Entête page HTML
ecr('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
ecr('<html xmlns="http://www.w3.org/1999/xhtml">');
ecr('<head>');
ecr('<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />');
ecr('<title>Site Mairie</title>');
ecr('<link href="scripts/style.css" rel="stylesheet" type="text/css" />');
ecr('</head>');
ecr('<body>');
$nom_ut=
include('connexion.php');
if (!isset($_SESSION['nom'])) {

}else{

include('calendrier.php');
$req2 = 'SELECT DroitUtil
FROM utilisateur
WHERE NomUtil = "'.$_SESSION['nom'].'";';




$result2= mysql_query($req2);
ecr('echo $req2');
while($data = mysql_fetch_array($result2)) {
if ($data == 0) {
include('message.php');

}else{
include('ecrire.php');
include('message.php');
}
}
}




//Fermeture page HTML
ecr('</body>');
ecr('</html>');


?>
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
C'est quoi ça? => ecr('echo $req2');
Remplace par echo $req2;
0
Utilisateur anonyme
 
ok c'est bon sa marche
merci a tous ceux qui m'ont aider
0