0

3行のmembersという名前のテーブルがあります。次のコードは、membersテーブルのすべての行を表示しようとします。各レコードを1回表示するのではなく、最初のレコードを3回表示します。

<?php
$con = new mysqli("localhost", "root", "jce123", "profile");
if (mysqli_connect_errno()) {
    printf("Connection failed: %s\n", mysqli_connect_error());
    exit();
}
    $sql = "SELECT * FROM members";
    $res = mysqli_query($con,$sql);
    $num = mysqli_num_rows($res);
    $array = mysqli_fetch_assoc($res);
    $keysarray = array_keys($array);
    $valuearray = array_values($array);
    for ($i=0; $i < $num; $i++) {
        for($j = 0; $j < count($array); $j++) {
            echo "<table>";
            echo "<tr><td>".$keysarray[$j].": </td><td>".$valuearray[$j]."</td></tr>";
            echo "</table>";
            }
            echo "<br><br>";
        }
    mysqli_close($con);
?>

私は提案ごとにこれを更新しました:

$sql = "SELECT * FROM members";
    $res = mysqli_query($con,$sql);
    $num = mysqli_num_rows($res);
    $array = mysqli_fetch_assoc($res);
    while ($row = mysqli_fetch_assoc($res)) {
        foreach($array as $key => $value){
            echo "<table>";
            echo "<tr><td>".$key.": </td><td>".$value."</td></tr>";
            echo "</table>";
            }
        echo "<br><br>";
        }
4

5 に答える 5

1

これは、$ num = 3、count($ array)= 3であり、外側のforループは内側のforループとは関係がないためです。

于 2012-11-15T18:27:29.927 に答える
0

基本的なチュートリアルならどれでもこれを教えてくれます。PHPドキュメントでさえ例を提供します。

于 2012-11-15T18:03:36.740 に答える
0

あなたはこのようなことをすることができます。

while ($row=mysqli_fetch_assoc($res)) 
{

    // processing for each row
    e.g
    echo $row['id'];
    echo $row['name'];
    etc
  }
于 2012-11-15T19:02:17.790 に答える
0

がある場合$array = mysqli_fetch_assoc($res);、データベースから受け取る行は1つだけです。次のようなものが必要です。

while ($row=mysqli_fetch_assoc($res)) 
{

// processing for each row

}
于 2012-11-15T18:26:18.187 に答える
0

これを試してください...このコードの平和はテストされていませんが、あなたにアイデアを与えるためだけです...

$sql = "SELECT * FROM members";
    $res = mysqli_query($con,$sql);
    $num = mysqli_num_rows($res);
    while ($row = mysqli_fetch_assoc($res)) {
            echo "<table>";
            echo '<tr><td> id = "'.$row['id'].'": 
                  </td><td> name = "'.$row['name'].'"</td></tr>";
            echo "</table>";
    }
于 2012-11-15T19:07:37.353 に答える