Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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_Limit - Fatal编程技术网

Php 限制MySQL中的结果?

Php 限制MySQL中的结果?,php,mysql,limit,Php,Mysql,Limit,嗯,;这已经折磨了我好几个小时了。我想我可能需要一个子查询,但我在这方面没有那么先进,所以任何帮助或指向正确方向的指针都将不胜感激 这是我的疑问 $query = "SELECT * FROM events WHERE event_type = 'Christmas Listings' AND event_active='Yes' ORDER BY event_date ASC LIMIT 5"; $result= mysql_query($query); 好的。。。现在让我们简单地了解一下

嗯,;这已经折磨了我好几个小时了。我想我可能需要一个子查询,但我在这方面没有那么先进,所以任何帮助或指向正确方向的指针都将不胜感激

这是我的疑问

$query = "SELECT * FROM events WHERE event_type = 'Christmas Listings' AND event_active='Yes' ORDER BY event_date ASC LIMIT 5";
$result= mysql_query($query); 
好的。。。现在让我们简单地了解一下我想要实现的目标,了解我想要实现的目标:

我想检查一下我得到的事件类型“event_type”,即圣诞节列表,因为此列中有多种类型

我想检查事件是否处于活动状态“事件\活动”是否为是此字段中的数据为是/否

我想按'event_date'ASC对它们进行排序。此字段中的数据为yyyy mm dd,因此它们根据数据库中的日期显示最新条目

在通过WHILE语句运行此类查询时,我希望限制或以某种方式控制结果的输出,使其仅显示5个结果

好的,这一切都有效,但是;当我看到实际的输出显示时,实际显示的结果数量不稳定。。。发生的情况是,如果我有多个被关闭的事件,比如在event\u active中是“off”,那么它几乎就像参数是从包括event\u active='off'的所有结果中计数,因此没有显示我期望它们如何显示


希望这有意义。。。。我们将非常感激您的帮助。

我真的不知道您在问什么,但LIMIT的作用如下:

限制意味着在完成查询并处理所有WHERE语句后,只返回前5条语句

如果事件_active不是“Yes”,则不会显示所有结果,并且会忽略所有结果


这个结果与不受限制地执行查询的结果相同,只需查看前5行即可。

该查询应该可以。我会检查你的数据集,或者更好,发布它!。您可能还需要考虑规范化数据库。我认为,问题在于你的“活动”

MySQL使用0和1来指示字段是否为真/假、是/否、开/关。请尝试在SELECT语句中使用0和1,除非该字段上的字段类型是VARCHAR,并且您实际上正在使用这些词

SELECT * 
FROM events 
WHERE event_type = 'Christmas Listings' AND event_active='Yes' 
ORDER BY event_date 
LIMIT 0, 5
所以你的陈述更容易理解

您应该使用1/0而不是是/否 限制不包括所有行! 第一步-执行查询,包括WHERE 第二步-订购方式 第三步-限制 如果在列上设置了索引,则可以进行排序。分拣将在5行之后停止, 也就是说,它会变得更快 ORDER BY命令中的ASC不是必需的,因为ASC是默认值
请注意,必须返回5条或更多记录,限制才能表示任何内容如果您想要最新的条目,则需要按事件日期描述而不是ASCfine排序-然后您可以将其标记为解决方案;