-1

我想使用查询的 WHERE 函数进行排序。现在唯一的问题是我希望首先显示所有产品,当您单击排序时,它会在页面上排序。

排序查询

$result=mysql_query("SELECT * FROM artikels WHERE   
        soort='".mysql_escape_string($_REQUEST['soort'])."'");

显示所有查询

$result=mysql_query("SELECT * FROM artikels WHERE soort='dahua' ");

不知何故,我需要将这两个结合起来,但是当我这样做时,它会停止工作,甚至不会排序。当我分离排序或显示所有查询时,它确实有效。

$result=mysql_query("SELECT * FROM artikels WHERE 
       soort-'dahua' AND soort='".mysql_escape_string($_REQUEST['soort'])."'");

如果有人帮助我解决这个问题,我会很高兴,因为我现在被困在我的项目上。

非常感谢,

〜戴夫

4

4 回答 4

3

要从表中过滤记录,请使用WHERE例如

WHERE soort='dahua'

过滤具有多个匹配项的记录,OR例如使用。

WHERE soort='dahua' OR soort='somethingelse'

ORDER BY您使用例如对结果进行排序

ORDER BY soort

您可以添加DESCASC指示方向

于 2012-12-18T15:49:22.167 回答
0

我的第一个猜测,不知道“不起作用”是什么意思(语法错误?结果不正确?),是你有soort-'dahua'而不是soort='dahua'

于 2012-12-18T15:42:40.697 回答
0

这个问题很难回答,主要是因为WHERE过滤和不排序,但我认为你可能想要执行OR

$sql = sprintf("SELECT * 
    FROM artikels 
    WHERE soort='dahua' OR soort='%s'", 
        mysql_real_escape_string($_REQUEST['soort'])
);
$result=mysql_query($sql);
于 2012-12-18T15:48:36.367 回答
0

您可以使用ORDER BY子句对行进行排序。这是一个人为的例子

SELECT name, age FROM users ORDER BY name DESC;

于 2012-12-18T15:49:01.997 回答