我必须为我在学校参加的学生团体做一些php工作。客户使用我们提供的服务,并且每10次我们的服务请求(在线制作)都需要办理登机手续。
当我们收到请求时,我们会从数据库中获取所有信息(id,特殊请求,注释等)。我添加了表格,表明是否需要办理登机手续没有问题......前端没有问题。由于我缺乏php和mysql的经验,这只是后端问题我不确定。
以下是一个例子:
echo "<td>Half Size</td>";
echo "<td>". ($value["halfsize"] == 1 ? "Yes" : "No") . "<br/>";
echo "</td>";
echo "</tr><tr>";
如果客户想要一半尺寸的请求,他们填写它...当我们收到它时,我们看到是否需要一个完整尺寸的半尺寸。
这是我想用伪代码做的事情,但由于我缺乏SQL知识,我不知道该怎么做。
echo "<td>Check-in Required</td>";
**//Check count of rows (any table)
//If divisible by 10 (%10), return "Yes", else "No"**
echo "</td>";
echo "</tr><tr>";
我需要弄清楚的是如何检查行数,如果可以被10整除则需要签入。
希望这很清楚,你明白我在问什么,因为阅读它仍然听起来有点难以理解。如果您有任何疑问,我会很乐意澄清。谢谢!
答案 0 :(得分:1)
我不确定我是否完全得到你正在做的事情,但我认为你需要的是模数运算符(%)。
if(count($rows) % 10 == 0){ // divisible by 10
}
else{ //not divisible by 10
}
答案 1 :(得分:0)
PHP支持modulo获取余数。
$divisor = 10;
$rowCount = 4; // put your method here that returns the number of rows
$result = $rowCount % $divisor == 0 ? "Yes" : "No";
答案 2 :(得分:0)
您可以更改客户端的数据库表,再添加一列来存储计数值。
添加:列,例如,计数器 - &gt;整数到客户表。
更改您的代码:
每次客户端发出请求时,从客户端查询select *,其中id = 取出计数器值并检查是否(计数器%10 == 0)。
if(counter%10 == 0)
{
request to check in;
}
accept request;
then update clients counter column (increment by 1)
更新表也会记住以前会话的请求。但是,如果您只想检查当前会话中的请求数,那么您只需在PHP代码中添加一个计数器变量,并在每次请求之前检查%10。
这只是一个伪代码。如果是第十个请求,则请求签入,然后接受请求并增加客户端计数器。
否则你只接受请求和增量计数器。
(抱歉只写伪代码,而不是实际代码。但这是一种方法。我可能误解了这个问题,但如果这解决了你的问题,我很高兴。)