【问题标题】:SQL in PHP: Checking if number of rows is divisible by a certain numberPHP中的SQL:检查行数是否可以被某个数字整除
【发布时间】:2013-04-25 01:06:57
【问题描述】:

我必须为我在学校参加的一个学生小组做一些 php 工作。客户使用我们提供的服务,每十次请求(在线提出)他们对我们的服务提出的请求,都需要进行一次登记。

当我们收到请求时,我们会从我们的数据库中获取所有信息(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 整除,则需要签入。

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

【问题讨论】:

  • SELECT COUNT(*) FROM t1

标签: php modulo


【解决方案1】:

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

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

    }
    else{ //not divisible by 10

    }

【讨论】:

  • 是的,这就是我一直在寻找的……它更多的是我需要复习的语法。谢谢!
【解决方案2】:

PHP 支持取余数的取模。

$divisor = 10;          
$rowCount = 4;          // put your method here that returns the number of rows
$result = $rowCount % $divisor == 0 ? "Yes" : "No";

【讨论】:

    【解决方案3】:

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

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

    改变你的代码来做:

    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。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      相关资源
      最近更新 更多