Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 将产品存储在MYSQL数据库中,然后搜索和过滤它们?_Php_Html_Mysql_Css - Fatal编程技术网

Php 将产品存储在MYSQL数据库中,然后搜索和过滤它们?

Php 将产品存储在MYSQL数据库中,然后搜索和过滤它们?,php,html,mysql,css,Php,Html,Mysql,Css,我的任务是为我的一个朋友建立一个可搜索的列表,我主要是一个前端设计师,所以我只知道极端的基础知识,以及通过书籍和教程可以找到的任何东西 至于这个问题,有没有一种方法可以在MySQL数据库中创建一些项目,这些项目可以包含一些标签,比如高度、宽度、厚度、颜色、公司、类型、类别和它的个人资料图像?理论上,我想建立一个注册页面,我已经有了,我的朋友可以用它自己添加产品。在“产品s”中将项目创建为“项目”是否是一种有效的方法 CREATE TABLE `admin`.`productss` ( `

我的任务是为我的一个朋友建立一个可搜索的列表,我主要是一个前端设计师,所以我只知道极端的基础知识,以及通过书籍和教程可以找到的任何东西

至于这个问题,有没有一种方法可以在MySQL数据库中创建一些项目,这些项目可以包含一些标签,比如高度、宽度、厚度、颜色、公司、类型、类别和它的个人资料图像?理论上,我想建立一个注册页面,我已经有了,我的朋友可以用它自己添加产品。在“
产品
s”中将项目创建为“项目”是否是一种有效的方法

CREATE TABLE `admin`.`productss` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `type` VARCHAR(30) NOT NULL,
    `category` VARCHAR(50) NOT NULL,
    `thickness` CHAR(128) NOT NULL,
    `height` CHAR(128) NOT NULL,
    `color` CHAR(128) NOT NULL,
    `material` CHAR(128) NOT NULL,
) ENGINE = InnoDB;
还是语法不允许我这么做

我目前有一个使用“假”数据库的解决方案,或者像一个长列表一样隐藏直到被搜索,但这是只使用HTML、CSS、JS完成的,我正在寻找一个更优雅的解决方案

===========================

+----+-----+----+
|NAME|GREEN|15in|
+----+-----+----+
|NAME| RED |10in|
+----+-----+----+
使用HTML/CSS/JS进行工作过滤的技巧:

篡改“假”数据库列表:

===========================

+----+-----+----+
|NAME|GREEN|15in|
+----+-----+----+
|NAME| RED |10in|
+----+-----+----+
按尺寸“15英寸”过滤后,它将仅显示尺寸标签为15英寸的产品

+----+-----+----+
|NAME|GREEN|15in|
+----+-----+----+

您可以在显示的表
productss
中插入行,然后使用
WHERE
子句对它们进行筛选。这将涉及以下几行内容:

//This shows all the products with type 'My Type' :
SELECT * FROM `productss` WHERE `type` = 'My Type' 

//This shows all the products where the category has the text 'abc' in it (so also 12abc34 or 12abc :
SELECT * FROM `productss` WHERE `category` LIKE '%abc%'

//This shows all the products where the color is 255:
SELECT * FROM `productss` WHERE `color` = 255  
这是用于后端过滤的,在前端完成这项工作的一个好方法是使用AJAX从JavaScript调用PHP脚本,其中包含需要过滤的变量

另一种方法是使用jQuery,打印列表中的所有行并添加数据属性;然后您的
li
标记将类似于:

<li data-color='255' data-category='Something' data-type='My Type'>Hello</li>

向我们展示您在使用
false
列表做什么,我们可以帮助您建立查询。您应该没事。避免使用列名。让我创建一个提琴,我会编辑我的问题,给我一些时间。你是如何想出CHAR(128)!?!我复制并粘贴了另一个sql数据库中的代码,为了举例,我重复了“密码”和“salt”
password
CHAR(128)NOT NULL,
salt
CHAR(128)NOT NULL如果我有两种产品,例如:一个绿色、15英寸、3毫米厚的艺术玻璃片和另一个同样的,但带有红色的。“WHERE”子句将根据列出的内容进行过滤?如果‘color’=绿色,则只显示绿色的颜色?事实就是这样。您还可以使用AND运算符给出多个WHERE语句,如下所示:
SELECT*FROM productss,其中color=255,type='My type'和类别“%something%”
这是用于客户端筛选还是仅用于后端?我希望允许客户端根据按钮和下拉列表筛选列表。为更好地理解问题添加了表这是为了后端,我将更改我的答案以添加答案经过修改的问题啊,我现在明白了,这是一个比我们现有的假数据库更优雅的解决方案。很好,答对了,谢谢你的帮助!