我很抱歉坏头衔,但我不知道更好的选择。PHP从类型和名称搜索
当前我正在创建搜索引擎以获取产品详细信息。我有2种搜索类型,第一种是使用产品类型进行搜索,另一种是使用产品名称。
下面是搜索代码:
<?php
$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 '<div class="product">';
echo '<form method="post" action="cart_update.php">';
echo '<div class="product-thumb"><img src="images/'.$obj- >product_img_name.'"></div>';
echo '<div class="product-content"><h3>'.$obj->product_name.'</h3>';
echo '<div class="product-desc">'.$obj->product_desc.'</div>';
echo '<div class="product-info">';
echo 'Price '.$currency.$obj->price.' | ';
echo 'Qty <input type="text" name="product_qty" value="1" size="3" />';
echo '<button class="add_to_cart">Add To Cart</button>';
echo '</div></div>';
echo '<input type="hidden" name="product_code" value="'.$obj->product_code.'" />';
echo '<input type="hidden" name="type" value="add" />';
echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
echo '</form>';
echo '</div>';
}
如何从product_type
数据搜索改为product_name
,反之亦然,根据什么我是从用户输入的故事吗?
因为我英语不好,我无法更好地解释它。
您的结构'连接缺少空间的一件事。你应该得到语法错误,但你可能没有检查它们。例如'。=“AND'应该读作''=”AND' –
在头部的顶部,我使用$ search = $ _GET ['search_value'];从另一个页面获取数据。 –
fred,对于product_type,构造工作得很好,但我不知道如何在产品类型和名称之间进行更改 –