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

标签 php mysql categories

作为一个新项目,我最近尝试创建一个网上商店,只是为了看看它是如何工作的。我已经使用 php 和 select 标签在主 div 中显示了所有正在销售的新商品。当用户单击侧边栏中的类别时,我还可以仅显示特定类别的项目。当用户单击侧边栏时,页面会重新加载,但会在 url 中添加 ?category=car 或其他类别。之后我使用 $_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 语句来查看选择了什么选项。另外,如果像这样的简单搜索系统有更好的选择或更安全,那当然很好。到目前为止我就是这样做的

顺便说一句,这是我当前表的屏幕截图 Here is my current table

最佳答案

首先,我建议你不要在 url 中放入字符,而应在 id 中放入。它更安全、更简单,并且不会出现 url 编码或其他错误。 你只需要转换你得到的 id 即可。使用 id 搜索 mysql 数据库也会比字符串更快:)

对于您的问题,您可以将类别名称(或 id:))放入隐藏输入的表单中。

示例:

<form>
    <input type="text" id="seller_name">
    <input type="hidden" id="category" value="<?php echo (int)$_GET['category']?>">
</form>

在服务器端,当您收到请求时,您会在 sql 请求中检查类别和卖家名称(例如,如果...则为 2)

关于PHP 使用 GET 搜索 mysql 数据库的类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319673/

相关文章:

php - 最小值和最大值之间 mysqli

python - MySQLdb 执行 INSERT 到表

mysql - 使用 req.params node.js 进行多重搜索

categories - 如何在opencart中显示从子类别到父类别的产品?

c++ - Objective-C 在 C++ 中的类类构造或技术?

ios - 分页引擎架构 - iOS

php - 以 3 列显示动态表数据

php - 如何通过Magento中的 Controller 将数组中的多个数据插入数据库

javascript - 在 symfony2 中管理特定于 Controller 的 javascript 有哪些选项?

mysql - mysql表的条件语句