与PHP分页相关的MySQL查询问题
我试着做两件事 1) 获取此查询中的行数与PHP分页相关的MySQL查询问题,php,mysql,pagination,Php,Mysql,Pagination,我试着做两件事 1) 获取此查询中的行数 SELECT COUNT(*) FROM `my_table` WHERE `column_1` = 152 AND `column_2` = 42 ORDER BY `column_3` 正如你所看到的,这没有问题^^ 2) 确定id Ex:ID 765是第4项,共7项,其中列_1=152,列_3=42 有没有人能用几乎纯MySQL解决这个问题?我希望避免遍历所有行,并设置一个递增计数器,直到它与当前id匹配,
SELECT
COUNT(*)
FROM
`my_table`
WHERE
`column_1` = 152
AND
`column_2` = 42
ORDER BY
`column_3`
正如你所看到的,这没有问题^^
2) 确定id
Ex:ID 765是第4项,共7项,其中列_1=152,列_3=42
有没有人能用几乎纯MySQL解决这个问题?我希望避免遍历所有行,并设置一个递增计数器,直到它与当前id匹配,如下所示:
$sql = '
SELECT
*
FROM
`my_table`
WHERE
`column_1` = 152
AND
`column_2` = 42
ORDER BY
`column_3`
';
$query = mysqli_query($sql);
$current_id = 2523;
$i = 1;
while ($row = mysqli_fetch_assoc($query)) {
if ($row['id'] == $current_id) {
$current_position = $i;
}
$i++;
}
print 'Current position in range is: '. $current_position;
另外,请不要担心实际的语法,我不会使用这个确切的脚本,但您可以得到我希望避免使用的逻辑。如果有人有更好的解决方案,请告诉我。提前谢谢 这就是您要找的吗?当我使用mySql在PHP中进行分页时,我通常使用SQL语句的LIMIT部分来给出起始行和最大行数。这就是你想做的吗?