Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2006, 12h14   #1
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
Par défaut comparaison de valeur sur un résultat de requete

Bonjour à tous,
Voila mon problème, Dans mon code php, j'execute une requete que voici :
Code :
1
2
3
4
5
6
 
SELECT DISTINCT (Nom) 
FROM intervenant,correspondre 
WHERE Num_projet='".$_SESSION['code_projet']."' 
AND Nom NOT IN 
(SELECT Nom_inter FROM correspondre);
La requête me retourne bien le résultat souhaité :
TRUC
MACHIN
BIDULE
Maitenant je voudrai faire une comparaison de ce résultat avec une variable de session c'est ç dire :
Code :
1
2
3
4
 
if ($_var='une des valeurs de ma requete') {
//executer code
}
Comment faire ?
Merci d'avance
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 12h20   #2
Membre éprouvé
 
Inscription : février 2005
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2005
Messages : 401
Points : 450
Points : 450
Pour la 40 000 ème fois, l'opérateur de comparaison est le == et non le =

Code :
1
2
3
4
if($var == $_SESSION['machin'])
{
 ...
}
C'est juste ça qu'il te fallait ?
Sylvain71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 12h57   #3
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Tu peux mettre les résultats de requête dans un tableau, et faire un in_array.
http://fr3.php.net/manual/fr/function.in-array.php
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 14h27   #4
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
En fait voici le code que j'utilise :
Code :
1
2
3
4
5
6
7
8
9
10
 
$query=mysql_query("SELECT DISTINCT (Nom) 
FROM intervenant,correspondre 
WHERE Num_projet='".$_SESSION['code_projet']."' 
AND Nom NOT IN (SELECT Nom_inter FROM correspondre);");
$ligne=mysql_fetch_array($query);
if ($_SESSION['inter'][$i]==$ligne->Nom) {
echo $_SESSION['inter'][$i];
$rajout=mysql_query("INSERT INTO correspondre VALUES ('".$_SESSION['inter'][$i]."','".$_SESSION['code_projet']."','".$_SESSION['inter'][$i+1]."','".$_SESSION['inter'][$i+2]."','".$_SESSION['inter'][$i+3]."', '".$_SESSION['inter'][$i+4]."';");
}
Et donc apparement il ne rentre pas dans la boucle if, comment faire pour affecter les résultats de ma requête dans un tableau ?
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 14h59   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Quelques remarques en vrac..

$ligne n'est pas un objet, c'est un tableau.
mysql_fetch_array renvoie un tableau,
mysql_fetch_object renvoie un objet.

Si tu veux parcourir tous les enregistrement retournés par une requête, il faut faire un while.

Dans ton code, on ne sait pas comment $_SESSION['inter'][$i] est initialisé.
Pareil pour $i.

Je te conseille d'adopter le second point de ma signature, même si ça ne concerne pas forcément ce problème particulier.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2006, 15h23   #6
Membre confirmé
 
Avatar de griese
 
Inscription : juin 2006
Messages : 646
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juin 2006
Messages : 646
Points : 243
Points : 243
C'est bon j'ai résolu mon problème voici le code que j'ai mis en place :
Code :
1
2
3
4
5
6
7
 
while ($ligne=mysql_fetch_object($query)) {
if ($_SESSION['inter'][$i]==$ligne->Nom){
echo $_SESSION['inter'][$i];
$rajout=mysql_query("INSERT INTO correspondre VALUES ('','".$_SESSION['inter'][$i]."','".$_SESSION['code_projet']."','".$_SESSION['inter'][$i+1]."','".$_SESSION['inter'][$i+2]."','".$_SESSION['inter'][$i+3]."', '".$_SESSION['inter'][$i+4]."');");
}
}
Merci pour tes explications Eusebius
__________________
(\ _ /)
(='.'=) Voici Lapinou. Aidez le à conquérir le monde
(")-(") en le reproduisant.

http://mosfootball.over-blog.com
griese est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h57.


 
 
 
 
Partenaires

Hébergement Web