使用一个变量在两个表中查找信息

时间:2010-03-03 00:40:49

标签: php mysql

以下代码效果很好。 MySQL表“提交”中的每个“标题”以与其对应的“loginid”相反的时间顺序打印。

我有另一个MySQL表(“login”),其中包含“loginid”和“username”字段。因此每行都有一个“loginid”和一个“用户名”。这两个MySQL表“submission”和“login”中的“loginid”彼此相同。

在下面打印的HTML表格中,如何用“用户名”替换“loginid”?

提前致谢,

约翰

  <?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>"; 


    ?>

1 个答案:

答案 0 :(得分:1)

您必须在查询中使用JOIN,如下所示:

$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";

然后只需使用代码中的$row['username']字段。

再见