4

所以我在数据库中有一个简单的表:“用户”

------------------------------------------------------
|     id    |   fname   |  sname  |  uname  |   pw   | 
------------------------------------------------------
|     1     |   John    |   Doe   |  jdoe   |  123   | 
------------------------------------------------------
|     2     |   John1   |   Doe1  |  jdoe1  |  234   | 
------------------------------------------------------
|     3     |   John2   |   Doe2  |  jdoe2  |  345   | 
------------------------------------------------------

等我想制作html表,我可以在数据库中编辑这些值。如何从该表中打印出所有用户用户的名字和姓氏?

$sql= mysqli_query("SELECT * FROM users"); 
$result= mysqli_fetch_array($sql);
$count=count($result);
for ($x=1;$x<$count;$x++)
{
  echo $result['fname']." ".$result['sname'];
}

我有这种代码来制作用户列表,但这不起作用。

4

3 回答 3

3

尝试在从数据库中获取数据时循环使用while

$sql= mysqli_query("SELECT * FROM users"); 
while($result= mysqli_fetch_array($sql))
{
    echo $result['fname']." ".$result['sname'] . '<br>';
}
于 2013-06-11T13:07:10.493 回答
0

这不是理想的方式,但您始终可以将 SQL 语句更改为:

SELECT '<table>' AS x
UNION ALL
SELECT 
  '<tr><td>id</td><td>fname</td><td>' + 
  'sname</td><td>uname</td><td>pw</td></tr>'
UNION ALL
SELECT
  '<tr><td>' + id + '</td><td>' + 
  fname + '</td><td>' + 
  sname + '</td><td>' + 
  uname + '</td><td>' + 
  pw + '</td></tr>'
FROM USERS
UNION ALL
SELECT '</table>'
于 2013-06-11T13:25:21.867 回答
0

试试这个代码:

echo "<table><tr><td>id</td><td>fname</td><td>sname</td><td>uname</td><td>pw</td></tr>";
$sql = mysqli_query("SELECT * FROM users"); 
while($result = mysqli_fetch_array($sql))
{
    echo "<table><tr><td>".$result['id']."</td><td>".$result['fname']."</td><td>".$result['sname']."</td><td>".$result['uname']."</td><td>".$result['pw']."</td></tr>";
}
echo "</table>";

无论如何,这是一个粗略的例子。尝试永远不要使用 echo 或 print 打印 HTML,而不是关闭 PHP 标记,打印 HTML 并再次打开它以避免不必要的服务器工作。

也尝试使用 PDO 连接数据库:PHP PDO Manual

于 2013-06-11T13:10:53.027 回答