1

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

希望这已经足够清楚,并且您理解我的要求,因为读回来听起来仍然有点难以理解。如果您有任何问题,我会很乐意澄清。谢谢!

4

3 回答 3

1

我不确定我是否完全明白你在做什么,但我认为你需要的是模运算符(%)。

 if(count($rows) % 10 == 0){ // divisible by 10

    }
    else{ //not divisible by 10

    }
于 2013-05-01T01:03:44.147 回答
0

PHP 支持取余数的取模。

$divisor = 10;          
$rowCount = 4;          // put your method here that returns the number of rows
$result = $rowCount % $divisor == 0 ? "Yes" : "No";
于 2013-05-01T01:04:30.343 回答
0

您可以更改客户端的数据库表,再添加一列来存储计数值。

添加:一列,比如说,计数器 --> 整数到客户表。

更改您的代码以执行以下操作:

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

               if(counter%10 == 0)
               {
                 request to check in;
               }
                 accept request;
                 then update clients counter column (increment by 1)
    

更新表也会记住以前会话的请求。但是,如果您只想检查当前会话中的请求数,那么您只需在 PHP 代码中添加一个计数器变量并在每个请求之前检查 %10。

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

否则你只需接受请求并增加计数器。

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

于 2013-05-01T01:52:06.607 回答