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

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

過濾不過濾

過濾不過濾

PHP
jeck貓 2022-01-24 10:39:45
我正在嘗試為汽車網站制作過濾器。我希望能夠按外觀代表的汽車顏色進行過濾。我這樣做是通過 Select Distinct from external colors 來列出所有的外部顏色。<h6 class="text-info">Select Color</h6>          <ul class="list-group">            <?php                $sql="SELECT DISTINCT exterior FROM newcars ORDER BY exterior";                $result=$conn->query($sql);                while($row=$result->fetch_assoc()) {            ?>          <li class="list-group-item">            <div class="form-check">              <label class="form-check-label">                <input type="checkbox" class="form-check-input product_check" name="" value="<?= $row['exterior']; ?>" id="exterior"><?= $row['exterior']; ?>              </label>            </div>          </li>        <?php          }        ?>          </ul>  <div id="test">        <?php          $sql = "SELECT * FROM newcars";          $result = mysqli_query($conn, $sql);          if (mysqli_num_rows($result) > 0) {            while ($row = mysqli_fetch_assoc($result)) {                echo ("<a href='newcarindex.php?id={$row['id']}'><div class='car'>");                echo '                      <tr>                        <td>                        <img src="data:image\jpeg;base64,'.base64_encode($row['photo']).'"/>                        </td>                      </tr>                ';                echo "<h2 class=car-name>";                echo $row['name'];                echo "</h2>";                echo "<span class=stock>STOCK#";                echo $row['stock'];                echo "</span>";                echo "<h3 class=car-msrp>";                echo $row['msrp'];                echo "</h3>";                echo "</div></a>";            }          } else {            echo "There are no Comments!";          }        ?>    </div> 
查看完整描述

1 回答

?
largeQ

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

首先,您需要將復選框包裝在 HTML 表單中,以便將數據發送到action.php文件:


<h6 class="text-info">Select Color</h6>

<form action="action.php">

    <ul class="list-group">

        <?php

            $sql = "SELECT DISTINCT exterior FROM newcars ORDER BY exterior";

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

            while($row=$result->fetch_assoc()) {

        ?>

            <li class="list-group-item">

                <div class="form-check">

                    <label class="form-check-label">

                        <input type="checkbox" class="form-check-input product_check" name="" value="<?= $row['exterior']; ?>" id="exterior"><?= $row['exterior']; ?>

                    </label>

                </div>

            </li>

        <?php

        }

        ?>

    </ul>

    <input type="submit" value="Filter" />

</form>

<div id="test">

...

然后,在action.php文件中你需要修改你的 SQL 查詢。此時,當您將基本$sql變量與 fromif(isset($_POST['exterior']))條件連接時,查詢如下所示:


SELECT * FROM newcars WHERE class !=''AND class IN( ...

使其無效(注意!=''和之間沒有空格AND)。


然后while循環中混合了撇號和引號,這使得PHP代碼無效。它應該如下所示:


while($row=$result->fetch_assoc()){

    $photo = base64_encode($row['photo']);

    $output .= "<a href='newcarindex.php?id={$row['id']}'>

        <div class='car'>

            <tr>

                <td>

                    <img src='data:image\jpeg;base64,{$photo}'/>

                </td>

            </tr>

            <h2 class='car-name'>{$row['name']}</h2>

            <span class='stock'>STOCK#{$row['stock']}</span>

            <h3 class='car-msrp'>{$row['msrp']}</h3>

        </div></a>";

}


查看完整回答
反對 回復 2022-01-24
  • 1 回答
  • 0 關注
  • 172 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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