php - 如何遍历表中的行

标签 php mysql

我有一个名为 Members 的表,有 3 行。以下代码尝试显示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>";
        }

最佳答案

那是因为,您的 $num = 3、count($array) = 3 和外部 for 循环与内部 for 循环没有影响。

关于php - 如何遍历表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403398/

相关文章:

php - 带警告消息的 Laravel DB 查询

javascript - 如何在处理请求时显示正在加载的 gif?

Mysql查询,选择所有客户及其订单

mysql - 如何在不删除主要和外部约束的情况下在 mysql 中删除

php - 在 PHP 中对数组进行排序与​​从 SQL 中获取数据

php - 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

php - 如何使用 graph api 获取用户的 facebook 组列表

python - 在 django 1.6 中使用多个数据库会出现 "can' t do subqueries”错误

php - 如何通过表单添加多对多关系?

mysql - 即使我没有使用事务,也会得到 "Lock wait timeout exceeded; try restarting transaction"