我希望在我提交表格之后它可以显示点击计数器.. 但我希望它达到“20”后它可以回零.bcoz提交的限制是20次,所以它不能超过极限。
我如何使其有效?我一直在试用这段代码......
<?
$limit="20";
$Query_counter=mysql_query("SELECT model FROM inspec");
$Show_counter=mysql_fetch_array($Query_counter);
$show_counter = $show_counter["model"]+1;
if($show_counter > $limit[0]) {
$show_counter = 0;
}elseif ($show_counter > $limit[1]) {
$show_counter = 0;
}
$Query_update=mysql_query("UPDATE inspec SET model=$Show_counter");
$Show_counter=number_format($Show_counter);
$Show_counter=str_replace(",",".",$Show_counter);
echo "Hit:</br><strong>$show_counter</strong>";
?>
答案 0 :(得分:1)
要使计数器达到某个值然后循环回零,可以使用模数运算符,它在很多语言(包括PHP和MySQL)中都是%
$x = 0;
$limit = 4;
for ($i = 0; $i < 10; ++$i) {
$x = ++$x % $limit;
echo $x;
}
// 1, 2, 3, 0, 1, 2, 3, 0, 1, 2
我希望这有足够的意义。我无法从问题中弄清楚你到底想要什么......或许是这样的事情?
UPDATE `mytable` SET `mycounter` = (`mycounter` + 1) % {{the limit}}
答案 1 :(得分:0)
这里的概念是测试你正在递增的变量是否超过了下一个增量的结果。简单地增加变量,然后测试其值。
在您的情况下,只需在递增计数器后添加测试:
$show_counter = $show_counter["model"]+1;
if($show_counter > $limit){
$show_counter = 0;
}
请务必将$limit
定义为您要循环的任何数字。
如果要对多个阈值执行此操作,可以添加其他测试。请注意,您可以将$limit
硬编码为您想要的任何数字或任何变量,这只是您要测试的内容。
答案 2 :(得分:0)
<?
$Query_counter=mysql_query("SELECT model FROM inspec");
$Show_counter=mysql_fetch_array($Query_counter);
$show_counter = $show_counter["model"]+1;
$x = 0;
$limit = 20;
for ($i = 0; $i < 30; ++$i) {
$x = ++$x % $limit;
echo $x;
}
$Query_update=mysql_query("UPDATE inspec SET model= (model + 1) % 20");
$Show_counter=number_format($Show_counter);
$Show_counter=str_replace(",",".",$Show_counter);
echo "Hit:</br><strong>$show_counter</strong>";
?>