While循环中的While循环具有内部联接


While loop in While loop with an inner join

对于一个小项目,我正在制作一个书签系统。

在首页上,我想显示所有可用的类别,以及每个类别下该类别中的链接。

现在我被这个卡住了:

$querylinks = "SELECT * FROM links INNER JOIN categorien ON links.categorie_id=categorie.categorie_id; "; 
$results = mysql_query($querylinks);
while ($row = mysql_fetch_array('$results')) {
    echo $row['categorie.categorie_id'];
    while ($row = mysql_fetch_array($results)) {/*the links within the category*/
        echo "<a href=" . "http://" . $row['link.link_url'] . ">"
             . $row['link.link_naam'] . "</a><br />";
    }
}

表"链接"answers"类别"被连接在一起,希望它能获得给定类别中的链接。

我希望我在这里没有做太愚蠢的事情,仍然从php开始。你知道为什么这不起作用吗?我搜索了整个斯塔克弗流,但找不到类似的东西。

这里似乎有一些错误。在查询语句中,INNER JOIN后面有"categoren"。此外,您的表格类别是否如您在问题中列出的那样?

您也不应该需要两个while语句来执行此操作。加上你最初的while语句不正确。$results周围不应该有引号。

每当我在php中进行查询时,我总是确保在mysql查询中获得所需的结果,然后将格式正确的查询复制到我的php代码中。

我建议你在这里这样做,以验证给出的结果是否符合你的预期。

然后返回并修复php。你只需要一个while循环,它应该看起来像:

while( $row = mysql_fetch_array ( $results) )