PHP中的SQL:检查行数是否可以被某个数字整除

时间:2013-05-01 01:00:19

标签: php mysql sql phpmyadmin

我必须为我在学校参加的学生团体做一些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整除则需要签入。

希望这很清楚,你明白我在问什么,因为阅读它仍然听起来有点难以理解。如果您有任何疑问,我会很乐意澄清。谢谢!

3 个答案:

答案 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;整数到客户表。

更改您的代码:

  1. 每次客户端发出请求时,从客户端查询select *,其中id = 取出计数器值并检查是否(计数器%10 == 0)。

               if(counter%10 == 0)
               {
                 request to check in;
               }
                 accept request;
                 then update clients counter column (increment by 1)
    
  2. 更新表也会记住以前会话的请求。但是,如果您只想检查当前会话中的请求数,那么您只需在PHP代码中添加一个计数器变量,并在每次请求之前检查%10。

    这只是一个伪代码。如果是第十个请求,则请求签入,然后接受请求并增加客户端计数器。

    否则你只接受请求和增量计数器。

    (抱歉只写伪代码,而不是实际代码。但这是一种方法。我可能误解了这个问题,但如果这解决了你的问题,我很高兴。)