【问题标题】:How can i display more than one row in my table USING PHP & MYSQL database如何使用 PHP 和 MYSQL 数据库在我的表中显示多行
【发布时间】:2022-12-04 08:01:27
【问题描述】:

我在显示数据库表中的所有行时遇到问题。但是只有一行显示而不是所有数据。

$query= mysqli_query($conn,"select* from food_table");
    if (mysqli_num_rows($query)>0){

        echo "<p style='color: green;'>See Below the Available Foods<br></p>";

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

            $food_name= $row['food_name'];
            $food_info = $row['food_info'];
            $food_price = $row['food_price'];
            $vendor_id = $row['vendor_id'];
            $default_miles = $row['default_miles'];
            $food_date= $row['date'];
            
        }



$foods= array($food_name,$food_info,$food_price,$vendor_id,$default_miles, $food_date );

    foreach($foods as $foodss){

        echo "$foodss.<br/>";
    }
    


请看下面的结果;enter image description here

【问题讨论】:

  • 将运行echo的部分放在行中里面while 循环。

标签: php html css mysql sql


【解决方案1】:

你的循环错了。您首先遍历数据库中的所有行并将它们分配给变量 $food_name 等,但是,只有在退出 while 循环之后,您才能创建一个包含这些变量的数组。这不起作用,因为现在 $food_name 等只有最后一行的值。

你想要的是这样的:

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

     $food_name= $row['food_name'];
     $food_info = $row['food_info'];
     $food_price = $row['food_price'];
     $vendor_id = $row['vendor_id'];
     $default_miles = $row['default_miles'];
     $food_date= $row['date'];

      echo $food_name . "<br/>;
            
}

现在你把页面上每一行的食物名称都写上了。

永远记住你的循环实际上在做什么。 while 循环的每次迭代都将变量 $food_name 设置为特定值。打印当前迭代中的值以获取页面上的所有值。如果您想将这些值存储在一个数组中,则必须执行类似于 $food_names[] = $row['food_name'] 的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多