2017-07-23 39 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; 
}