Requetes sql et php

Discussion dans 'Web, design' créé par DeScH, 18 Octobre 2006.

Statut de la discussion:
Fermée.
  1. Offline
    DeScH AstaLaVista
    Hello, je bloque depuis hier sur 2 betes petites requetes me diriez-vous :p
    En fait, j'ai une table commentaires qui comprend les champs id - pseudo - timestamp - contenu - id_news.
    Je voudrais que si le pseudo existe dans la table phpbb_users, il m'affiche un lien vers son profil donc l'id du profil en argument.

    Pour le moment, ma requete c'est juste ca :

    Code:
    $retour = mysql_query("SELECT * FROM commentaires WHERE idnews = $id_news ORDER BY timestamp DESC LIMIT $limitinf, $limitsup")or die(mysql_error());
    while ($donnees = mysql_fetch_array($retour))
    {
    	?><br />
    	<table width="95%">
      <tr>
        <td><?php echo ("De <b>" . stripslashes($donnees['pseudo']) . "</b>, posté le " . date('<b>d/m/Y</b> à <b>H\hi</b>', $donnees['timestamp']). "");?></td>
        </tr>
      <tr>
        <td style="padding-left:15px"><?php echo nl2br(stripslashes(smileys($donnees['texte']))) ?></td>
      </tr>
    </table>
    	<?php 
    } mysql_close();?>
    
    
    Je ne vois pas vraiment comment faire le lien entre les 2 requetes. En bref: mon raisonnement c'est: dégager $donnees['pseudo'] présent dans le while. Faire une requete dans la table phpbb_users pour récupérer les informations relatives à $donnees['pseudo'] si il existe. Qq1 saurait-il m'expliquer?

    Merci :)
    DeScH, 18 Octobre 2006
    #1
  2. Offline
    cyse Elite
    euh, tout bêtement une requete dans le while du genre "SELECT id FROM phpbb_users WHERE name=$donnees['pseudo']" ca marche pas ? Ou alors peut être avec un LEFTJOIN dans la première requête c'est plus propre si c'est possible.
    cyse, 18 Octobre 2006
    #2
  3. Offline
    DeScH AstaLaVista
    J'avais deja essayé, mais il y a un probleme avec le while, car il doit faire la boucle avant de faire la requete dans l'autre table, et ca pose un probleme il me met un truc du genre champ 'nom_utilisateur' non trouvé dans WHERE clause 1 je sais plus trop.
    DeScH, 18 Octobre 2006
    #3
  4. Offline
    cyse Elite
    pas tout compris :D

    Sinon un leftjoin ca permet de faire comme un WHERE sauf que ça marche aussi quand la valeur risque d'être null, ce qui semble ton cas

    select news, id_user from news

    left join phpbb_users

    on phpbb_users.id = news.id_user;

    c'est un truc dans le genre mais je me rapelle plus trop
    cyse, 18 Octobre 2006
    #4
Statut de la discussion:
Fermée.