我已经搜索了很长一段时间,但没有运气。对不起,如果在某个地方找不到我找不到的。
我基本上在MySQL表中有一个队列,我需要告诉人们使用PHP在队列中的数字。
现在,我已经有了这个,但它只是计算表中的行数:
$rowquery = "SELECT * FROM restaurant_guests ORDER BY ID UNTIL";
if ($stmt = $mysqli2->prepare($rowquery)) {
/* execute query */
$stmt->execute();
/* store result */
$stmt->store_result();
printf("%d", $stmt->num_rows - 1);
/* close statement */
$stmt->close();
}
有人可以帮我指点正确的方向吗?非常感谢你提前! :)
答案 0 :(得分:2)
如果ID字段是队列的基础(即ID越高,队列中的顺序越高),那么查询就像计算id值< =到用户id
SELECT count(id) FROM restaurant_guests WHERE id <= ?
此处?
表示您要搜索的ID值。
答案 1 :(得分:1)
等一下。 ID是否自动递增? 如果只有ID较低的客户首先退出队列,那么 不应该只是给予:
answer = (the ID of user in question) - (lowest ID of the user in the queue) + 1
可以通过以下方式查询队列中用户的最低ID:
SELECT ID from restaurant_guests ORDER BY ID LIMIT 1
至少,与其他方法相比,这种方法将从DBMS传输恒定数量的数据。