第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Mysql使用php按大小獲取產(chǎn)品

Mysql使用php按大小獲取產(chǎn)品

PHP
慕神8447489 2022-10-28 09:55:25
使用過濾器選項按尺寸獲取產(chǎn)品。這是產(chǎn)品數(shù)據(jù)庫結構:id | size------------ 1 | S,M 2 | S,M,L 3 | S 4 | M,L這是 Shirtsize 數(shù)據(jù)庫結構:id | size------------ 1 | S 2 | M 3 | L這是過濾器的輸入值獲取代碼<div class="list-group">  <h3>Size</h3>    <?php       $query = "SELECT DISTINCT(shirtsize) FROM shirtsize ORDER BY id DESC";       $statement = $connect->prepare($query);       $statement->execute();       $result = $statement->fetchAll();       foreach($result as $row)       {        ?>       <div class="list-group-item checkbox">        <label>          <input type="checkbox" class="common_selector size" value="<?php echo $row['shirtsize']; ?>">            <?php echo $row['shirtsize']; ?>        </label>       </div>    <?php      }     ?>  </div>此代碼從數(shù)據(jù)庫中獲取值:if(isset($_POST["size"])){    $size_filter = implode("','", $_POST["size"]);    if (is_array($size_filter))    {        foreach ($size_filter as $value)        {           $query .= "AND size like('%".$value."%')";        }    }    else{    $query .= "AND size like('%".$size_filter."%')";    }}在這里我有像 s,m,l 這樣的數(shù)據(jù)庫,并且發(fā)布數(shù)據(jù)也像這樣.
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經(jīng)驗 獲得超8個贊

直接從 MySQL 處理您當前的數(shù)據(jù)模型可能需要一些 SQL olympics。相反,我將提供一個更好的規(guī)范化數(shù)據(jù)結構:

id | size
------------
 1 | S
 1 | M
 2 | S
 2 | M
 2 | L
 3 | S
 4 | M
 4 | L

現(xiàn)在,如果您想獲得不同的尺寸,您只需要:

SELECT DISTINCT(size) FROM shirtsize;

如果您想獲得每個尺寸的計數(shù)id,只需使用:

SELECT id, COUNT(*) AS cnt FROM shirtsize GROUP BY id;

通常,切勿將 CSV 數(shù)據(jù)存儲在 SQL 表中。


查看完整回答
反對 回復 2022-10-28
?
千萬里不及你

TA貢獻1784條經(jīng)驗 獲得超9個贊

首先,我加倍@Tim Biegeleisen 建議您規(guī)范化您的數(shù)據(jù)。
但是,您可以通過使用 FIND_IN_SET() 函數(shù)而不是 LIKE 來實現(xiàn)結果。

SELECT *
 FROM `shirtsize` 
WHERE FIND_IN_SET('S', `size`)

該函數(shù)返回字符串在字符串列表中從 1 開始的位置。如果未找到字符串,則為 NULL。

https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_find-in-set


查看完整回答
反對 回復 2022-10-28
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

謝謝各位 我有答案了

SELECT * FROM products WHERE status = '1' AND size like('%L%') OR size like('%M%')

或者

SELECT size from `products` WHERE size rlike "L|M"


查看完整回答
反對 回復 2022-10-28
  • 3 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號