在 mysql table 上使用 for 循环

using for loop on mysql table

我的数据库中有 2 个 table: 猫(id,猫名) link (id, 名字, url, 猫)

我想遍历 table link 并通过 cat 输出数据,这里是实际代码,但 id 无论如何都不起作用:)

    for ($i = 1; ; $i++)
    {
        $list = $mysqli->query('SELECT * FROM links WHERE category='$i'');
        while($row = $list->fetch_assoc()) {
            print $row["category"];
            print $row["name"].' ';
            print $row["url"];
            print '<br>';
        }
    }

    $list->free();

有没有一种方法可以从 table cat 中获取 id 并使用它来遍历 table link 中的数据? 谢谢

循环内不需要那么多请求。在 SQL 中有针对这种情况的 JOIN 语句:

$result = $mysqli->query('SELECT category.name AS cat_name, 
                               links.name,
                               links.url 
                          FROM category 
                          INNER JOIN links ON links.cat=category.id');

while($row = $result->fetch_assoc()) {
    print $row["cat_name"];
    print $row["name"].' ';
    print $row["url"];
    print '<br>';
}

$result->close();