【问题标题】:I want to get all of my database items [duplicate]我想获取我所有的数据库项目[重复]
【发布时间】:2016-10-29 20:22:35
【问题描述】:

我已将这个PHP 文件包含在我的index.php 中,但我只从数据库中获取了第一项。如何从我的数据库中获取所有项目?

<?php
$sql = "SELECT name,price FROM items ORDER BY `id`";

$res = mysqli_query($conn, $sql);
$page = mysqli_fetch_assoc($res);
mysqli_close($conn);
?>

<h2><?=$page["name"]?></h2>
<?=$page["price"]?>

【问题讨论】:

  • 您正在寻找while 循环
  • 或使用mysqli_fetch_all()
  • 您将需要遍历结果以显示所有结果(假设结果行多于一个)。如果您只想查看结果而不用 HTML 标记,您可以转储数组 (print_r)。
  • 不是每个 PHP+MySQL 教程都有这样的例子吗?

标签: php mysql database


【解决方案1】:

这是因为您需要循环 $page 数组中的结果。试试这个:

<?php foreach($page as $value): ?>
    <h2><?=$value["name"]?></h2>
    <?=$value["price"]?>
<?php endforeach; ?>

如果您需要有关 foreach 方法的更多信息,请转到 here

【讨论】:

  • 1.$page 是一行,而不是所有行。 2.同样的代码是user1272855写的,他把他的答案删了,因为写错了
【解决方案2】:

正如你所说你想要all records from the database,所以你需要使用while loop,如下所示:-

<?php
   $sql = "SELECT name,price FROM items ORDER BY `id`"; // query
   $res = mysqli_query($conn, $sql); // execute query
   while($page = mysqli_fetch_assoc($res)){ // loop
      echo "<h2>". $page["name"]."</h2>".$page["price"]; // print all record (You can change pattern of printing according to your wish )
   }
   mysqli_close($conn); // close connection
?>

【讨论】:

  • 它对我有用,非常感谢你^_^
  • @ArevshatyanGegham 欢迎 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多