亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將產品精確地顯示在其所屬類別的下方

將產品精確地顯示在其所屬類別的下方

PHP
Helenr 2022-09-12 13:03:20
我想創建一個“php-mysql”系統,管理員可以在其中創建類別和產品。產品將動態存儲在它們所屬的類別中,并且在用戶界面上,這些產品將顯示在它們所屬的類別的正下方。例如:現在我的產品顯示如下圖所示:我希望它們顯示如下圖所示:我的我的我的表是:到目前為止,我的代碼(sql)是:<?php    function getCategory() {        $db_conn = getConnection();        if (!$db_conn) return false;        $sql = "SELECT category from products";        $result = $db_conn->query($sql);        $db_conn->close();        return $result;    }    function getProduct() {        $db_conn = getConnection();        if (!$db_conn) return false;        $sql = "SELECT * from products";        $result = $db_conn->query($sql);        $db_conn->close();        return $result;    }?>斷續器代碼:<div class="category">    <?php $categories = getCategory(); ?>    <?php while ($category = $categories->fetch_assoc()) : ?>    <h2><?php echo $category['name']; ?></h2>    <div class="products">        <?php $products = getProduct(); ?>        <?php while ($product = $products->fetch_assoc()): ?>        <table>            <tr>                <td><?php echo $category['name']; ?></td>            </tr>            <tr>                <td><?php echo $category['image']; ?></td>            </tr>            <tr>                <td><?php echo $category['price']; ?></td>            </tr>        </table>
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

為了顯示每個類別的所有產品,您需要在使用第二個函數獲取產品時傳遞類別名稱:


<?php

    function getCategory() {

        $db_conn = getConnection();

        if (!$db_conn) return false;


        $sql = "SELECT DISTINCT category from products";

        $result = $db_conn->query($sql);

        return $result;

    }


    function getProduct($category) {

        $db_conn = getConnection();

        if (!$db_conn) return false;


        $sql = "SELECT * from products WHERE category = '" . $category . "'";

        $result = $db_conn->query($sql);

        return $result;

    }

?>

輸出:


<?php $categories = getCategory(); ?>

<?php while ($category = $categories->fetch_assoc()) : ?>

    <div class="category">

        <h2><?php echo $category['name']; ?></h2>

        <div class="products">

            <?php $products = getProduct($category['name']); ?>

            <table>

                <?php while ($product = $products->fetch_assoc()): ?>

                    <tr>

                        <td><?php echo $product['name']; ?></td>

                    </tr>

                    <tr>

                        <td><img src="<?php echo $product['image']; ?>"/></td>

                    </tr>

                    <tr>

                        <td><?php echo $product['price']; ?></td>

                    </tr>

                <?php endwhile; ?>

            </table>

        </div>

    </div>

<?php endwhile; ?>


查看完整回答
反對 回復 2022-09-12
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

SELECT * FROM products ORDER BY category

然后只需檢查自您輸出的最后一條記錄以來類別是否已更改,如果有,則顯示類別名稱,如果沒有,則回顯該記錄。

如果您這樣做,也不需要第一個查詢。

另一種方法是,保留第一個查詢,但將第二個查詢更改為:

'SELECT * FROM products WHERE category = ' . $category

其中類別來自您的第一個查詢。


查看完整回答
反對 回復 2022-09-12
  • 2 回答
  • 0 關注
  • 85 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號