Php 在mysql表上使用for循环

Php 在mysql表上使用for循环,php,mysql,mysqli,Php,Mysql,Mysqli,我的数据库中有两个表: 猫id,猫名 链接id、名称、url、类别 我想循环表链接并通过cat输出数据,这里是实际代码,但id无论如何都不起作用: for ($i = 1; ; $i++) { $list = $mysqli->query('SELECT * FROM links WHERE category='$i''); while($row = $list->fetch_assoc()) { print $

我的数据库中有两个表: 猫id,猫名 链接id、名称、url、类别

我想循环表链接并通过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();
是否有一种方法可以从表cat获取id,并使用它来循环表中的数据链接?
谢谢

循环中不需要这么多请求。对于这种情况,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();

请提供表结构,因为它将永远运行。一美元没有上限。并且永远包含许多查询语句。在查询中连接表。