[英]PHP - "if" in "while" problems to alternate html table rows colour
$banana=0;
$view = mysql_query('SELECT ......') or die ('Encountered an error.') ;
while($rows3=mysql_fetch_array($view))
{
$total_price2=$rows3['qty']*$rows3['number'];
$banana = $banana + 1;
if ($total_price2!=0)
{
if ($banana %2 ==0)
{
echo "<tr class=\"alt\">";
}
else
{
echo "<tr>";
}
echo "<td>".$rows3['member']."</td>";
echo "<td>".$rows3['payment']."</td>";
echo "<td>$".number_format($total_price2,2)."</td>";
}
echo "</tr>";
}
问题:
<tr>
标签。例如:
<tr><td>person</td><td>data</td><td>$10.00</td></tr>
<tr class="alt"></tr>
(以这种方式重复)
我发现重复的banana
总是返回奇数:1、3、5 等
MySQL 运行不正常
SELECT table1.member, table1.paid, table1.payment,table2.qty,table3.number FROM table1,table2,table3 WHERE table1.member = table2.member AND table1.payment="fruit"
它给我这样的错误数据:
ETC
首先尝试进行调试:
echo "<tr class=\"alt\"> ";
我的猜测是您的 <tr> 中没有包含任何数据,并且正在被您的浏览器压缩到 0 px 高。
编辑:我不完全确定给你的 <tr> 一个 class 会根据某些浏览器 DOM 解析过滤到 <td> 中。 每当我做斑马线时,我都会将 class 分配给 <td>。 不过,我不是任何标准的设计师。 :)
幽默一下,请试试这个:
$banana=0;
$view = mysql_query('SELECT ......') or die ('Encountered an error.') ;
while($rows3=mysql_fetch_array($view))
{
$total_price2=$rows3['qty']*$rows3['number'];
$banana++;
if ($banana % 2 == 0) {
$td_class = "alt";
} else {
$td_class = "";
}
echo "<tr>";
if ($total_price2!=0) {
echo "<td class='{$td_class}'>".$rows3['member']."</td>";
echo "<td class='{$td_class}'>".$rows3['payment']."</td>";
echo "<td class='{$td_class}'>$".number_format($total_price2,2)."</td>";
}
echo "</tr>";
}
如果一切都失败了,你可以使用 CSS:
tr {background-color: blue;}
tr:nth-of-type(2n) {background-color: red;}
那是行不通的。 如果$total_price2!=0
,您只打开表格行。 看来你应该只 output 结束</tr>
标签内的 IF 块。
试试这个:
<?php
$banana=0;
$view = mysql_query('SELECT ......') or die ('Encountered an error.') ;
while($rows3=mysql_fetch_array($view))
{
$total_price2=$rows3['qty']*$rows3['number'];
if ( !$total_price2)
continue;
$banana = $banana + 1;
if ($banana %2 ==0)
{
echo "<tr class=\"alt\">";
}
else
{
echo "<tr>";
}
echo "<td>".$rows3['member']."</td>";
echo "<td>".$rows3['payment']."</td>";
echo "<td>$".number_format($total_price2,2)."</td>";
echo "</tr>";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.