【发布时间】:2013-10-30 10:27:26
【问题描述】:
我想获取表中的记录数,然后将它们除以 4,在将它们除以 4 之后,我想根据我的结果创建具有限制范围的 sql 语句。例如,我有一个包含 8 条记录的表,我将其除以 4,我将创建 2 个 sql 语句,其限制范围为 limit 0,4 和 limit 4,8
最终结果会是这样的
Select * from prop where id=123 LIMIT 0,4
Select * from prop where id=123 LIMIT 4,8
我的方法是使用 for 循环来计算要执行的 sql 语句的数量。
然后在循环中:第一个圈子0-4,第二个圈子是4-8
在limit 0-4 和limit 4-8 上苦苦挣扎
PHP 脚本
include('connect.php');
$query_1 = "Select COUNT(*) as Total from prop where ref = 'SB2004'";
$results_query_1 = mysql_query($query_1);
while($row_query_1 = mysql_fetch_array($results_query_1))
{
$cnt = $row_query_1['Total'];
}
echo $cnt;
echo "<br>";
$num_grps = 0;
if ($cnt % 4 == 0 )
{
echo $num_grps = $cnt / 4 ;
}
$count_chk= $num_grps * 4;
for ($i=1;$i<=$num_grps;$i++)
{
//for loop for range
for()
{
$range = '0,4';
echo "SELECT prop_ref from prop limit".$range;
}
}
【问题讨论】:
-
这样做的目的是什么?可能有更好的方法
-
Please, stop using mysql_* functions 在新代码中,它们是officially deprecated。而不是,查看prepared statements,并使用Mysqli 或PDO。
-
我所需要的只是打印 echo 2 select 语句的结果,限制范围为 4 的倍数,因为它将用于中继
divs的分页插件。除非有准备好的语句打印出 sql 语句 -
为什么分页插件不能动态构建这些查询?如果你通过 echo 输出它们,那么接下来怎么办——你要把它们复制并粘贴到插件代码中……?
-
插件不允许。有没有办法让循环动态打印 0,4 和 4,8