Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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设置25组_Php_Mysql_Sql - Fatal编程技术网

使用PHP和MySQL设置25组

使用PHP和MySQL设置25组,php,mysql,sql,Php,Mysql,Sql,我要做的是 将单词列表作为单独的条目添加到表中。 以25个为一组显示单词。因此,如果有25个条目,列表中将显示1-25个条目。此外,如果有27个条目,则只显示数字26和数字27。因此,它并不总是表中的最后25个条目。 我已经知道如何从数据库中插入和提取信息,但我不知道如何进行适当的分组,将它们分成25组 编辑:如何根据表中的行数自动增加限制 编辑2:这个问题不是重复的。我不想要最近的25个。我要他们25人一组。下面回答了我的问题。如果要使用此查询,仅当您需要以某种方式对其进行排序以获得正确的25

我要做的是

将单词列表作为单独的条目添加到表中。 以25个为一组显示单词。因此,如果有25个条目,列表中将显示1-25个条目。此外,如果有27个条目,则只显示数字26和数字27。因此,它并不总是表中的最后25个条目。 我已经知道如何从数据库中插入和提取信息,但我不知道如何进行适当的分组,将它们分成25组

编辑:如何根据表中的行数自动增加限制


编辑2:这个问题不是重复的。我不想要最近的25个。我要他们25人一组。下面回答了我的问题。

如果要使用此查询,仅当您需要以某种方式对其进行排序以获得正确的25组数据时,才可以使用order by:

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 0, 25 
第二套,共25套您需要使用此注释第一个限制编号不同:

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 25, 25
第三盘

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 50, 25

第一个限制数字是偏移量,或者说您希望从哪里开始提取记录,第二个限制数字是要提取的记录数。如果只有26和27,这里的第二个查询将适用于此。您可以看到,在这种情况下,每个集合都要求您根据请求的记录数增加偏移量。

IMHO您不能在一个查询中以可读的方式至少在标准SQL中这样做

你需要:

假设表名为tbl1,则获取表中的条目数:

使用整数除法获取未选择的条目数。确切的代码取决于您使用的语言。例如,在PHP上,假设步骤1的结果存储在$count中:

使用限制提取所需的条目:

SELECT * FROM tbl1 ORDER BY <specify-order-here> LIMIT 25 OFFSET <insert-$offset-here>;

限度听起来你想要最后25个,但你说不总是最后25个。。。你能澄清一下吗?我不想要最后25个。我要他们25人一组,谢谢!有没有办法根据表中的行数自动调整限制?例如,您可以在PHP中设置一个变量,并在每次加载页面时向其添加25,这样您将始终获得正确的偏移量,然后将该变量放入查询的偏移量中。
$offset = floor($count/25);
//or: $offset = $count - $count%25;
SELECT * FROM tbl1 ORDER BY <specify-order-here> LIMIT 25 OFFSET <insert-$offset-here>;