[SQL] Fausse requete ?

Résolu
loster -  
Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

Pouvez vous m'indiquer une requete sql qui permettrait de "comparer deux champs de tables différentes".

Voila celle que j'ai écrit :

$req = mysql_query("SELECT `username` FROM `session` WHERE 1");
if ($req != $pseudo) {$statut = 'Offline';}
if ($req = $pseudo) {$statut = '<strong>Online</strong>';}

"$pseudo" est le nom d'utilisateur variable

En fait le but principal serait de dire si l'utilisateur 'x' dans la table 'users' est présent dans la table 'sessions' pour savoir si il est connécté ou non.

Merci d'avance.

Bonne soirée et bonne fêtes de fin d'année.

Loster / Dorian.
Configuration: Windows XP
Firefox 2.0.0.1

2 réponses

  1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
     
    Salut !

    Il y a plusieurs problèmes avec ton code :
    - Que veut dire WHERE 1 ??
    - $req ne contient pas les données recherchées, mais seulement un pointeur. Pour avoir les données, il faut utiliser mysql_fetch_array() (cf. cours)
    - Tes tests "if" sont donc incorrects.

    Je pense que le plus simple, pour ce que tu veux faire, est de :
    - faire une requête sur la table pseudo demandant d'afficher les tuples (="fiches", ou "lignes") dont le champ username vaut $pseudo,
    - compter le nombre de résultats (s'il est strictement supérieur à zéro ou bien égal à zéro, autrement dit si la requête a retourné 1 ou 0 résultat(s))

    Ca donnerait donc (code à adapter) :
    $req = mysql_query('SELECT username FROM session WHERE username="'.$pseudo.'"');
    if (mysql_num_rows($req)>0) {
         $statut = 'Online';
    }
    else {
         $statut = 'Offline';
    }

    Dans ce code :
    - username est l'intitulé du champ qui continent les pseudos,
    - session est la table qui contient les pseudos,
    - $pseudo est la variable qui contient le pseudo du visiteur.

    A+ :)
    0
  2. loster
     
    Salut,

    Merci ! C'est génial... ca fonctionne parfaitement. Merci encore et très bonnes fêtes !
    0
    1. Thom@s Messages postés 2647 Date d'inscription   Statut Membre Dernière intervention   678
       
      De rien ;-)

      Bonnes fêtes à toi aussi !
      0