我正在研究表格布局。 如果有 x 行,它将转到下一行。
然而,当 de 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 的,因为他们没有发送任何内容。 因此,如果玩家没有发送任何内容,它必须输出一个空行。 如果有数据的话。继续执行其余代码。
任何提示都会被采纳。
编辑: 快完成了,但布局仍然不正确。 现在的代码如下
<?php
$j=0;
foreach($PortalName as $data)
{
if($data[2] == 0) { echo '</tr><td> </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++;
}
?>
但是这是不正确的。 因为Fred只发送了150000000
剩下的交给下一个成员。
好的,现在解决了。 更改了此行
if($data[2] == 0) { echo '</tr><td> </td><tr>'; } else if($data[2] > 0 && $j % $data[2] == 0 && $j > 0) { echo '</tr><tr>'; }
至
if($data[2] == 0) { echo '</tr><td> </td><tr>'; } else if($data[2] > 0 && $j % $data[2] == 0 && $j > 0) { echo '</tr><tr>'; } else { echo '</tr><tr>'; }
它现在生成正确的布局。
谢谢大家
最佳答案
在 if 语句中添加一个验证,total_run not == 0
if($count['total_runs']1>0 && $j % $count['total_runs'] == 0 && $j > 0) {
关于php 模除以零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45263192/