PHP使用GET搜索带有类别的mysql数据库
作为一个新项目,我最近尝试创建一个网店,只是想看看它是如何工作的。我已经使用php和select标记在主div中显示了所有正在销售的新项目。当用户单击侧边栏中的某个类别时,我也只能显示某个类别中的项目。当用户单击侧边栏时,页面会重新加载,但会添加到url?category=car或其他类别。之后我使用$u GET['PHP使用GET搜索带有类别的mysql数据库,php,mysql,categories,Php,Mysql,Categories,作为一个新项目,我最近尝试创建一个网店,只是想看看它是如何工作的。我已经使用php和select标记在主div中显示了所有正在销售的新项目。当用户单击侧边栏中的某个类别时,我也只能显示某个类别中的项目。当用户单击侧边栏时,页面会重新加载,但会添加到url?category=car或其他类别。之后我使用$u GET[' if(isset($_GET['category'])){ $testsearch = htmlspecialchars($_GET['category']);
if(isset($_GET['category'])){
$testsearch = htmlspecialchars($_GET['category']);
$sqlselect = "SELECT * FROM items_sale INNER JOIN item_list ON items_sale.item_id = item_list.item_id INNER JOIN user_list ON items_sale.user_id = user_list.user_id INNER JOIN categories ON items_sale.categorie_id = categories.category_id where category = '$testsearch'";
}else{
$sqlselect = "SELECT * FROM items_sale INNER JOIN item_list ON items_sale.item_id = item_list.item_id INNER JOIN user_list ON items_sale.user_id = user_list.user_id INNER JOIN categories ON items_sale.categorie_id = categories.category_id";
}
我似乎无法开始工作的是,还添加了搜索栏之类的东西,用户可以在其中搜索卖家姓名或商品名称,同时保持在所选类别内
有没有一个简单的方法可以做到这一点?因为我只能想到彼此之间的一堆If语句,以查看选择了什么选项。还有,对于这样一个简单的搜索系统,如果有更好的选项,或者更安全,当然可以。这就是我到目前为止一直在做的事情
这里是我当前表格的截图
首先,我建议您不要在url中添加字符,而是在id中添加字符。这样更安全、更简单,而且url编码或其他方面不会出错。 你只需要转换你得到的id,在mysql数据库中搜索id比搜索字符串更快:) 对于您的问题,您可以将类别名称(或id:)放在表单中,并隐藏输入 例如:
<form>
<input type="text" id="seller_name">
<input type="hidden" id="category" value="<?php echo (int)$_GET['category']?>">
</form>
你肯定需要读一下:@deceze谢谢,我会调查的:)