php按照名称搜索,PHP从类型和名称搜索
很抱歉,標題不好,但我不知道有更好的選擇.
目前,我正在創建一個搜索引擎以獲取產品詳細信息.我有2種搜索類型,第一種是使用產品類型進行搜索,另一種是使用產品名稱進行搜索.
這是搜索代碼:
$search_exploded = explode (" ", $search);
$x = "";
$construct = "";
foreach ($search_exploded as $search_each) {
$x++;
if ($x==1)
$construct .="product_type LIKE '%$search_each%'";
else
$construct .="AND product_type LIKE '%$search_each%'";
}
?>
這是數據獲取代碼.
$results = $mysqli->query("SELECT * FROM produk2 WHERE $construct" );
if ($results) {
//fetch results set as object and output HTML
while ($obj = $results->fetch_object()) {
echo '
';echo '
';echo '
';echo '
'.$obj->product_name.'
';echo '
'.$obj->product_desc.'';echo '
';echo 'Price '.$currency.$obj->price.' | ';
echo 'Qty ';
echo 'Add To Cart';
echo '
';echo '';
echo '';
echo '';
echo '
';echo '
';}
如何根據我從用戶輸入中獲得的信息將數據搜索從product_type更改為product_name,反之亦然?
由于英語不好,我無法真正更好地解釋它.
解決方法:
您可以像下面這樣將其設置為OR條件.這樣,無論哪種uset類型都將應用于這兩個列,并且由于它是OR條件,因此如果其中一個匹配,它將返回true.
where product_type LIKE '%$search_each%'
or product_name LIKE '%$search_each%';
修改下面的代碼段
if ($x==1)
$construct .="product_type LIKE '%$search_each%'";
else
$construct .="AND product_type LIKE '%$search_each%'";
成為
$construct .="product_type LIKE '%$search_each%' OR product_name LIKE '%$search_each%'";
標簽:mysql,php
來源: https://codeday.me/bug/20191027/1948154.html
總結
以上是生活随笔為你收集整理的php按照名称搜索,PHP从类型和名称搜索的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux远程挽救模式,linux –
- 下一篇: 区域显示触发_Nature Commun