0
<?php

session_start();
$link = mysqli_connect("localhost", "xxx", "xxxxxx", "xxx");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$id = $_GET['id'];
if ($result = mysqli_query($link, "SELECT * FROM Subscribe WHERE STo = '".$id."' ORDER BY ID LIMIT 6")) {
    while($row = mysqli_fetch_array($result))
    {
        $idS = $row['SWho'];
        echo $idS;
        if ($result = mysqli_query($link, "SELECT * FROM accounts WHERE ID = '".$idS."' ORDER BY ID LIMIT 6")) {
            while($row = mysqli_fetch_array($result))
            {
                echo "<img src='Member_ProfilePics/";
                echo $row['PP'] . '.' . $row['Ext'];
                echo "' width=42 height=40 style='float: left'>";
            }
        }
    }
    //<img src='Member_ProfilePics/john.jpg' width=42 height=40 style='float: left'>
}                               
?>

在我的代码中,我想输出 STo 的列表。并连接到其他数据库并在每个 STo 中输出以下行。

要输出的样本:

(picture of id=1) 1 
(picture of id=2) 2 
(picture of id=3) 3 
(picture of id=4) 4 
(picture of id=5) 5 
(picture of id=6) 6

如何?我的代码没有循环。

我的代码的示例输出:

(picture of id=1) 1
4

1 回答 1

2

您对两个循环使用相同的变量:

if ($result = mysqli_query($link, "SELECT * FROM Subscribe WHERE STo = '".$id."' ORDER BY ID LIMIT 6")) {
    while($row = mysqli_fetch_array($result)) {

        ....

        if ($result = mysqli_query($link, "SELECT * FROM accounts WHERE ID = '".$idS."' ORDER BY ID LIMIT 6")) {
            while($row = mysqli_fetch_array($result)) {
                ...
            }
        }
    }
} 

尝试将 seconda 值更改为这些

if ($result = mysqli_query($link, "SELECT * FROM Subscribe WHERE STo = '".$id."' ORDER BY ID LIMIT 6")) {
    while($row = mysqli_fetch_array($result)) {

        ....

        if ($result2 = mysqli_query($link, "SELECT * FROM accounts WHERE ID = '".$idS."' ORDER BY ID LIMIT 6")) {
            while($row2 = mysqli_fetch_array($result2)) {
                ...
            }
        }
    }
} 
于 2013-05-23T13:26:25.957 回答