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_Mysql_Sorting - Fatal编程技术网

用PHP对MySQL进行排序

用PHP对MySQL进行排序,php,mysql,sorting,Php,Mysql,Sorting,我有一些相对简单的问题,关于它如何与PHP一起工作。首先,我创建了“产品”表。表格如下: ----------------------------------------------------------------------- | name | brand | type | color | price | |-------------------------------+---------+-----------+------

我有一些相对简单的问题,关于它如何与PHP一起工作。首先,我创建了“产品”表。表格如下:

----------------------------------------------------------------------- | name | brand | type | color | price | |-------------------------------+---------+-----------+---------------- | Samsung S5230 (white | samsung | s5230 | white | 80 | | Samsung S5230 (black) | samsung | s5230 | black | 95 | | Samsung Wave 723 (black) | samsung | wave723 | black | 200 | | Apple iPhone 4G 16GB (white) | apple | iphone4g | white | 500 | | Apple iPhone 4G 32GB (white) | apple | iphone4g | white | 600 | | Apple iPhone 4G 16GB (black) | apple | iphone4g | black | 450 | | Apple iPhone 4G 32GB (black) | apple | iphone4g | black | 550 | | Apple iPhone 3GS 16GB (white) | apple | iphone3gs | white | 300 | | Apple iPhone 3GS 8GB (black) | apple | iphone3gs | black | 200 | ----------------------------------------------------------------------- ----------------------------------------------------------------------- |名称|品牌|类型|颜色|价格| |-------------------------------+---------+-----------+---------------- |三星S5230(白色|三星| S5230 |白色| 80| |三星S5230(黑色)|三星S5230 |黑色| 95| |三星波723(黑色)|三星波723 |黑色| 200| |苹果iPhone 4G 16GB(白色)|苹果| iPhone 4G |白色| 500| |苹果iPhone 4G 32GB(白色)|苹果| iPhone 4G |白色| 600| |苹果iPhone 4G 16GB(黑色)|苹果| iPhone 4G |黑色| 450| |苹果iPhone4G32GB(黑色)|苹果| iphone4g |黑色| 550| |苹果iPhone 3GS 16GB(白色)|苹果| iPhone 3GS |白色| 300| |苹果iphone3gs 8GB(黑色)|苹果| iphone3gs |黑色| 200| -----------------------------------------------------------------------
我想创建一个PHP脚本,用于对我的产品进行排序。我想对下图中的组合进行排序:

第一个图像是默认状态。
第二个图像是选中Samsung复选框时的图像。
第三个图像是选中Apple复选框时的图像。
按价格排序菜单有3个选项:随机、升序、降序。
这里的产品列表是我想要选择MySQL的位置。

谢谢您的时间,尊敬的。

为了解决此类问题(并非所有产品都具有相同的筛选(顺便说一句,这与排序不同)字段),我使用了多对多关系表,例如:

FieldsToBrands
-------------------
brand_id | field_id
-------------------
1          1
1          2
2          2

Brands
---------------------
brand_id | brand_name
---------------------
1          Apple
2          Samsung

Fields
---------------------
field_id | field_name
---------------------
1          Color
2          Space

这就意味着苹果既有颜色又有空间,而三星只有空间。这就是所谓的表之间的多对多关系。

好吧,考虑到你需要这么多的选项来排序,我建议不要编写10亿个SQL查询来获得正确的顺序,因为它没有太大的可扩展性或效率,更不用说了-设计缺陷


我会取而代之的是获取整个结果集,并使用javascript对其进行排序,有一个很棒的jQuery插件,名为

Ok。现在我们知道你想做什么了。但是你想做什么?我想创建一个PHP脚本来对我的产品进行排序。这就是我想要的。你在图像中看到的是一个html打印屏幕,没有不起作用的函数。我ant创建了一个功能性PHP脚本。如果苹果和三星都勾选了复选框,会发生什么呢working@Sara这对我来说是可行的,但请尝试一下这里,以及我如何使用PHP实现这一点?空格是什么意思?空格是一个示例字段(4GB、8GB、16GB等)非常感谢。我混淆了排序和筛选。我寻找的是筛选。此代码帮助我完成了我想做的事情:[在此处输入链接描述][1][1]:您认为在js中对整个结果集进行排序比编写一个返回所需记录的查询更高效、更可扩展吗?如果数据集很小,它可能会更高效,但它的可扩展性并不高。@n我是在上下文中说的,当然,对于一家查询每天可提取10亿条记录的大公司,我不会建议ise可以做到这一点。对于50-100条记录的数据集,tablesorter处理得非常好。非常感谢您的建议,但我不想创建表。我想创建一个PHP脚本,用链接对我的产品进行排序:例如,如果我想从MySQL表中显示所有苹果(品牌)iPhone 4G(类型)有了这个链接:products.php?brand=apple&type=iphone4g我想在品牌、类型、名称和价格之间创建排序组合。过滤,而不是排序。那么你尝试过什么呢?有很多关于php和MySQL入门的文章。这是一个问答网站,不是一个我们将为你免费编写的网站。你的网站中会有多少产品桌子