我想改变这一行:while (($number = fgetcsv($handle, 32768, ',')) !== FALSE)
来检查用户是否有限制执行任务。PHP虽然与mysql查询功能
我想补充这样SELECT * FROM user WHERE user = $username AND queryused < limit
的东西,如果它得到一个结果,while
funcions继续如果没有,它停止。
我想改变这一行:while (($number = fgetcsv($handle, 32768, ',')) !== FALSE)
来检查用户是否有限制执行任务。PHP虽然与mysql查询功能
我想补充这样SELECT * FROM user WHERE user = $username AND queryused < limit
的东西,如果它得到一个结果,while
funcions继续如果没有,它停止。
像@arieljuod建议的,你可以做这样的事情。
$count = 0;
while ($count < YOUR_LIMIT && $number = fgetcsv($handle, 32768, ',')){
//do query
$count++;
}
这样,每个你迭代时,循环将执行仅当$号码已被设置为一个值,每个前面的查询已经成功的功能。如果查询失败,则不会有其他迭代通过该条件。
注意:您正在ASSIGNING while条件中的$ variable数字。如果它接收到“真值”(即不是0,空等),则它将被认为是“真实的”,即使它本身不是布尔值。
当然,但应该从数据库加载计数和限制每次它循环 – ForeverSJC
似乎像一个沉重的循环...但你可以做一个单独的查询,存储的价值观,并在另一个查询中使用它们,如果你真的需要那。 –
你应该只加载“限制”和“queryused”循环之前一次,做循环,然后更新的queryused价值,像
$used = query_to_get_queryused_from_db;
$limit = query_to_get_limit_from_db;
$count = 0;
while($count+$used < $limit && $number = fgetcsv($handle, 32768, ',')){
//something
$count++;
}
query_to_update_queryused_on_db //using $count+$used
在每次迭代做一个查询reaaaaaally不好,总是试图在循环内部进行查询,只有在没有其他方式时才这样做
在while作为条件前使用一些变量,然后在每次迭代结束时将查询结果赋值给该变量,我不知道我是否理解 – arieljuod
@arieljuod这就是我想要的,但我不是专家,你能帮忙吗? – ForeverSJC
你如何运行查询?什么是查询,什么是限制?任何代码? – arieljuod