为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用PHP从MYSQL同时获取和显示数据

如何使用PHP从MYSQL同时获取和显示数据

PHP
郎朗坤 2021-05-02 08:09:35
我无法使用PHP OOP从MYSQL数据库中的表中显示数据。但是,我不确定是否无法显示数据,因为我一开始实际上并没有获取数据。我尝试仅使用PHP数组而不使用HTML来获取和显示数据,但我发现这将无法正常工作,因为我没有使用HTML列表标签来格式化数据库中的数据。我曾经考虑过使用HTML表,但是我已经看到使用列表从数据库中进行显示的方式之前已经工作了好几次,而且我想知道为什么这样做不起作用。我已经测试过MYSQL连接,并且确实存在。* M_PRODUCTS.PHP *<?php  class Products {    private $Conn;    private $db_table = "toys";     function __construct() {        // here we're making sure that the connection from $conn in "init.php" is transferred         // into our own private $conn property for usage in this object        global $Conn;         $this->Conn = $Conn;    }        // fetches and displays all products from db        public function fetch_all_products($id = NULL)        {             if ($id == NULL)            {                $data = [];                 if ($result = $this->Conn->query("SELECT * FROM " . $this->db_table . " ORDER BY name"))                {                    if ($result->num_rows > 0)                    {                        while ($row = $result->fetch_array())                        {                            $data = array(                            "id" => $row["product_id"],                            "name" => $row["name"],                            "price" => $row["price"],                            "image" => $row["image"]                            );                         }                         return $data;                     }                else                 {                    return "<h1>Oops... Something went wrong!</h1>";                 }            }        }    }}* INDEX.PHP *<?php include("init.php");       include("models/m_products.php"); ?><body>    <div id="whitespace">        <?php$products = fetch_all_products();我希望我的产品图像可以显示在index.html文件中。但是,什么也没有出现。我也在JavaScript控制台中收到此错误消息:无法加载资源:服务器以状态404(未找到)进行了响应。这将解释很多,但是正如我所说,我测试了数据库连接,并且可以正常工作。如果我不使用JavaScript,则不确定该消息如何或为何从JavaScript控制台发出。我认为无论如何还是值得一提。
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

根据您的代码,该函数返回一些数据,但事实是您尚未打印出该数据,因此return可以在函数中使用echo或仅放置它而不是在函数中

echo $Products->fetch_all_products();


查看完整回答
反对 回复 2021-05-07
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

我可以在您的代码中看到2个主要问题:1)您需要从以下位置更新比较运算符


if ($id = NULL)


if ($id == NULL)

2)您需要从以下位置更新index.php中的代码


<body>

    <div id="whitespace">

        <h1><?php echo shop_name ?></h1>


        <?php


        echo $Products->fetch_all_products();


        ?>

    </div>

</body>


<body>

    <div id="whitespace">


        <?php


$products = find_all_products();


?>

      <?php foreach($products as $row) { ?>

      <tr>

        <td><?php echo $row->name; ?></td>

        <td><?php echo $row->price; ?></td>

        <td><img src="<?php echo $row->image_path(); ?>" alt="<?php echo $row->name; ?>" width="100" /></td>


      </tr>

      <?php } ?>



    </div>

</body>

希望它能解决您的问题


查看完整回答
反对 回复 2021-05-07
?
长风秋雁

TA贡献1757条经验 获得超7个赞

奇怪的代码,我会做类似的事情。 1.首先该函数查找all() 2. index.php echo-输出


<?php


$products = find_all_products();


?>

      <?php foreach($products as $row) { ?>

      <tr>

        <td><?php echo $row->name; ?></td>

        <td><?php echo $row->price; ?></td>

        <td><img src="<?php echo $row->image_path(); ?>" width="200" /></td>


      </tr>

      <?php } ?>


查看完整回答
反对 回复 2021-05-07
  • 3 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信