2017-07-23 69 views
0

我正在桌面佈局上工作。 如果行數爲x,則它將進入下一行。php modulo除零

但是德模是給我一個錯誤,當它試圖通過0

將其分攤這是正常的,我知道。

如何檢查數據是否爲NULL,然後返回沒有數據的下一行。

$j=0; 
foreach($PortalName as $data1){ 
    $countQuery = $db->query('SELECT *, COUNT(gold_sended) as total_runs FROM gold_sended WHERE gold_sended.user_id = "'.$data1[1].'" AND (gold_swap_id = "'.$db->real_escape_string($_GET['a']).'") AND (week = "29") ORDER BY date DESC'); 
    while($count = $countQuery->fetch_assoc()) { 
    if($j % $count['total_runs'] == 0 && $j > 0) { 
     echo '</tr><tr>'; 
    } 
    echo '<td>'.number_format($count['gold_sended']).'</td><td bgcolor="Yellow"><font color="#000">'.$count['date'].'</font></td>'; 
    $j++; 
    } 
} 

total_runs是針對某玩家0的,因爲他們還沒有發送任何東西。 所以如果玩家沒有發送任何東西,它必須輸出一個空行。 如果有數據。繼續執行其餘的代碼。

任何提示將appriciated。

編輯: 幾乎完成,但他們的佈局仍然不正確。 現在的代碼如下

<?php 
        $j=0; 
        foreach($PortalName as $data) 
        { 
         if($data[2] == 0) { echo '</tr><td>&nbsp;</td><tr>'; } else if($data[2] > 0 && $j % $data[2] == 0 && $j > 0) { echo '</tr><tr>'; } 
         $countQuery = $db->query('SELECT * FROM gold_sended WHERE gold_sended.user_id = "'.$data[1].'" AND (gold_swap_id = "'.$db->real_escape_string($_GET['a']).'") AND (week = "29") ORDER BY date DESC'); 
         while($count = $countQuery->fetch_assoc()) 
         { 
          echo '<td>'.number_format($count['gold_sended']).'</td><td bgcolor="Yellow"><font color="#000">'.$data[4].'</font></td>'; 
         } 
         $j++; 
        } 
        ?> 

,這將產生以下輸出 enter image description here

然而,這是不正確的。 由於弗雷德只發送150000000

其餘的是爲下一個成員。

好了,現在就解決了。 改變了這一行

if($data[2] == 0) { echo '</tr><td>&nbsp;</td><tr>'; } else if($data[2] > 0 && $j % $data[2] == 0 && $j > 0) { echo '</tr><tr>'; } 

if($data[2] == 0) { echo '</tr><td>&nbsp;</td><tr>'; } else if($data[2] > 0 && $j % $data[2] == 0 && $j > 0) { echo '</tr><tr>'; } else { echo '</tr><tr>'; } 

它現在產生正確的佈局。

謝謝大家

+0

'if($ count ['total_runs'] == 0)' –

回答

1

在你的if語句添加total_run不== 0

if($count['total_runs']1>0 && $j % $count['total_runs'] == 0 && $j > 0) { 
+0

那麼現在一切都好嗎?如果是,如果不解釋當前問題,我會很高興。如果我幫助你,一切都還好,請評價我的答案。 – Osama

0

使用驗證 「繼續」 語句來做到這一點

if($count['total_runs'] == null || $count['total_runs'] == 0) { 
     continue; 
} 
0

您可以檢查如果total_runs爲空,並使用continue關鍵字跳到您的循環的下一個項目

if(empty($count['total_runs'])) { 
     // put your table row ending code here 

     continue; 
}