IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

comparaison de valeur sur un résultat de requete


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($_var='une des valeurs de ma requete') {
    //executer code
    }
    Comment faire ?
    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Pour la 40 000 ème fois, l'opérateur de comparaison est le == et non le =

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($var == $_SESSION['machin'])
    {
     ...
    }
    C'est juste ça qu'il te fallait ?

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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

  4. #4
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    En fait voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  5. #5
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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.

  6. #6
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    C'est bon j'ai résolu mon problème voici le code que j'ai mis en place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/04/2010, 18h38
  2. [AC-2007] Afficher la valeur d'un résultat de requete dans zone de texte (et pas le N° unique!)
    Par pierrequimousse dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/02/2010, 09h45
  3. Réponses: 8
    Dernier message: 06/03/2009, 09h20
  4. Requete d'une valeur sur de nombreux champs
    Par denzel21 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 29/02/2008, 12h05
  5. [Firebird] DELETE sur le résultat d'une requete d'un IBQUERY
    Par shashark dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/06/2005, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo