如何在程序PHP中执行此操作 •点击我网站上的按钮的人将其独特的数据(已经完成)放入表格中 •当桌子达到10行/人时,为这10个人(如大厅ID)分配一个唯一的ID(需要对他们10相同)。 •为具有该唯一ID的人生成页面。
我知道这很复杂而且要求太多,如果我能够至少得到关于该做什么的指示,那将是值得赞赏的。
编辑:自从04:36开始,我现在就去睡觉了。谢谢大家的建议和帮助。明天会试试:)晚安!答案 0 :(得分:1)
实际上,您已拥有该唯一ID。看这里:
Preson 01: Alan, ...
Preson 02: Bob, ...
Preson 03: Clarice, ...
...
Preson 09: James, ...
Preson 10: Samanta, ...
Preson 11: John, ...
Preson 12: Suzie, ...
...
Preson 19: Tony, ...
Preson 20: XXX, ...
Preson 21: XXX, ...
Preson 22: XXX, ...
...
Preson 29: XXX, ...
所以,只是uniqueID = intval(personId / 10) + 1
'它......
当你注册新人时:
$person = $this->savePersonData($data);
$personId = $person->id;
$uniqueID = intval($personId / 10) + 1;
// redirect that person to his specific lobby url
header("Location: http://host.name/lobby/{$uniqueID}/visit");
答案 1 :(得分:0)
好的,另一种更标准的做法是告诉mysql你想要10个人从id#
开始因此,在您的情况下,您可以使用类似的内容进行查询:
$query = "SELECT * FROM table LIMIT 10 OFFSET 1";
OFFSET是($ page - 1)* 10 $ page是您想要获得的人的页面。因此,如果你想获得第二页,它将是(2 - 1)* 10 = 10
$query = "SELECT * FROM table LIMIT 10 OFFSET 10";
LIMIT 10
语句告诉mysql只返回接下来的10个条目。
答案 2 :(得分:0)
您可以做的是在数据库中将id
列定义为id INT NOT NULL AUTO_INCREMENT
。这样,当您将每个人的数据插入表格时,id
将被设置为下一个int。要确定该人的lobby_id,只需计算ID DIV 10
(将div和floor降低到较低的int)。
SELECT id, id DIV 10 AS lobby_id, other, columns
FROM my_table
WHERE ....