2013-05-01 63 views
1

我必須爲我在學校參與的一個學生組做一些PHP工作。客戶使用我們提供的服務,並且他們對我們的服務每提出十次請求(在線製作),他們都需要辦理登機手續。PHP中的SQL:檢查行數是否可以被一定數量整除

當我們收到請求時,我們從我們的數據庫中獲得所有信息(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

' SELECT COUNT(*)FROM t1' – 2013-05-01 01:03:26

回答

1

我不知道我完全明白你在做什麼,但我認爲你需要的是模運算符(%)。

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

    } 
    else{ //not divisible by 10 

    } 
+0

是的,這就是我一直在尋找的東西...它更多的是我需要提高的語法。謝謝! – tect 2013-05-01 01:52:35

0

PHP支持獲取餘數的模。

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

您可以更改客戶端的數據庫表中,增加一個列來存儲計數值。

添加:一列,說,計數器 - >整數客戶表。

更改您的代碼,這樣做:

  1. 每當客戶端發出請求,查詢SELECT * FROM客戶其中id = 拿出計數器的值,並檢查(計數器%10 == 0)。

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

更新表會記得前幾屆會議的請求了。但是如果你想在當前會話中檢查請求的數量,那麼你只需在PHP代碼中添加一個計數器變量,並在每次請求之前檢查%10。

這只是一個僞代碼。如果它的第十個請求,請求檢入,然後接受請求並增加客戶端計數器。

否則你只是接受請求和增量計數器。

(對不起,我寫的,而不是實際的代碼只是僞代碼,但這是可以做到這一點的一種方式。我可能誤解了這個問題,但如果這能解決你的問題,我很高興。)

相關問題