循环访问数据库并在表格中显示

时间:2009-05-11 16:26:01

标签: php mysql

我正在尝试循环访问我的用户数据库,以便在自己的行中显示表中的每个用户名。我只能让它显示一个用户,但循环显示它的行数。代码如下

<?php
require_once ('../login/connection.php');
include ('functions.php');

$query = "SELECT * FROM users";
$results=mysql_query($query);
$row_count=mysql_num_rows($results);
$row_users = mysql_fetch_array($results);

echo "<table>";
    for ($i=0; $i<$row_count; $i++)
    {
    echo "<table><tr><td>".($row_users['email'])."</td></tr>";
    }
    echo "</table>";
?>

由于

5 个答案:

答案 0 :(得分:15)

mysql_fetch_array获取单行 - 您通常在while循环中使用它来占用结果集中的所有行,例如

echo "<table>";

while ($row_users = mysql_fetch_array($results)) {
    //output a row here
    echo "<tr><td>".($row_users['email'])."</td></tr>";
}

echo "</table>";

答案 1 :(得分:4)

你只获取一行:

$row_users = mysql_fetch_array($results);

你再也不会再打电话了,所以你并没有真正完成任何事情。

我建议您将循环更改为以下内容:

echo "<table>";
while ($row = mysql_fetch_array($results)) {
    echo "<tr><td>".($row['email'])."</td></tr>";
}
echo "</table>";

while循环将遍历结果并将行分配给$ row,直到用完行为止。此时无需处理结果计数。这是循环浏览php中数据库结果的“常用”方法。

答案 2 :(得分:3)

在新的MYSQLI中,我使用了这个编码

onError

答案 3 :(得分:0)

你的问题在这一行:

echo "<table><tr><td>".($row_users['email'])."</td></tr>";

您再次回复<table>标记。删除它,以便您的代码如下所示:

echo "<table>";
    for ($i=0; $i<$row_count; $i++)
    {
    echo "<tr><td>".($row_users['email'])."</td></tr>";
    }
echo "</table>";

答案 4 :(得分:0)

您无需像表格那样在表格中输出表格。

$result = mysql_query("SELECT `email` FROM `users`");
$num_emails = mysql_num_rows($result);

echo "<table><caption>There are/is $num_emails email(s)</caption>";
while ($row = mysql_fetch_assoc($result)) {
    echo "<tr><td>{$row['email']}</td></tr>";
}
echo '</table>';

这样的事情应该有用。