2010-03-03 7 views
0

Le code ci-dessous fonctionne bien. Chaque "titre" dans la table MySQL "submission" est imprimé dans l'ordre chronologique inverse à côté de son "loginid" correspondant.Utilisation d'une variable pour rechercher des informations dans deux tables

J'ai une autre table MySQL ("login") avec les champs "loginid" et "nom d'utilisateur". Donc chaque rangée a un "loginid" et un "nom d'utilisateur". Le "loginid" dans ces deux tables MySQL "submission" et "login" sont équivalents les uns aux autres.

Dans le tableau HTML imprimé ci-dessous, comment remplacer le "loginid" par le "nom d'utilisateur"?

Merci à l'avance,

John

<?php 
    $sqlStr = "SELECT loginid, title, url, displayurl 
      FROM submission ORDER BY datesubmitted DESC LIMIT 10"; 
    $result = mysql_query($sqlStr); 

    $arr = array(); 
    echo "<table class=\"samplesrec\">"; 
    while ($row = mysql_fetch_array($result)) { 
     echo '<tr>'; 
     echo '<td class="sitename1"><a href="http://www.'.$row["url"].'">'.$row["title"].'</a></td>'; 
    echo '</tr>'; 
    echo '<tr>'; 
    echo '<td class="sitename2"><a href="http://www.'.$row["url"].'">'.$row["loginid"].'</a></td>'; 
    echo '</tr>'; 
    } 
    echo "</table>"; 


    ?> 

Répondre

1

Vous devrez utiliser JOIN dans votre requête, comme suit:

$sqlStr = "SELECT s.loginid, s.title, s.url, s.displayurl, l.username 
      FROM submission AS s, 
        login AS l 
      WHERE s.loginid = l.loginid 
     ORDER BY s.datesubmitted DESC 
      LIMIT 10"; 

Ensuite, il suffit d'utiliser le champ $row['username'] dans votre code .

bye

+0

élégant. Merci. – John

Questions connexes