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)) {
                ...
            }
        }
    }
} 

秒の値をこれらに変更してみてください

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 に答える