Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用GET搜索带有类别的mysql数据库_Php_Mysql_Categories - Fatal编程技术网

PHP使用GET搜索带有类别的mysql数据库

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']);

作为一个新项目,我最近尝试创建一个网店,只是想看看它是如何工作的。我已经使用php和select标记在主div中显示了所有正在销售的新项目。当用户单击侧边栏中的某个类别时,我也只能显示某个类别中的项目。当用户单击侧边栏时,页面会重新加载,但会添加到url?category=car或其他类别。之后我使用$u GET['

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谢谢,我会调查的:)