使用Mysql替换空行“IN”条件

时间:2013-04-15 13:56:55

标签: php mysql

这是我的代码

$Qemaster="select * from emaster where `branch`='$bid' and `department`='$did' and `status`!='L'";
$Remaster=mysql_query($Qemaster);
while($Rowemaster=mysql_fetch_array($Remaster)){
    $empcode=$Rowemaster[id];
    $name=$Rowemaster[name];
    $Tleave=0;

echo "<tr>";
echo "<td rowspan='2'>".$name."</td>";
echo "<td>Leave</td>";

$Qlp="select `leave` from lpsummary where ((`month` IN(04,05,06,07,08,09,10,11,12) and `year`='$year') or (`month` IN(01,02,03) and `year`='$Nyear')) and `empcode`='$empcode'";
$Rlp=mysql_query($Qlp);
while($Rowlp=mysql_fetch_array($Rlp)){  

$leave=$Rowlp['leave'];
$Tleave=$Tleave+$leave;

echo "<td>".$leave."</td>";
}
echo "<td><font color='red'>".$Tleave."</font></td>";
echo "<tr><td>Percentage</td>";
}

我的桌子是

------------------------------------------
| name | apr-12 | may-12 | jun-12 | jul-12 |
|------|--------|--------|--------|--------|  
|Kumar | 2      |    1   |    0   | 3      |
|Rajan | 4      |    0   |    2   |        |
|      |        |        |        |        |
|------------------------------------------ 

这里名称Rajan在jun-12中没有数据但是jul-12的值为2 ... ie)表中的空行lpsummary ......如果有空我想要替换它作为'-'...我怎么能通过我的代码来做到这一点......

1 个答案:

答案 0 :(得分:0)

在你的while循环中,你需要设置一个条件来检查是否返回了null。

while($Rowlp=mysql_fetch_array($Rlp)){  
    if (is_null($Rowlp['leave'])) {
        $leave = '-';
    } else {
        $leave=$Rowlp['leave'];
        $Tleave=$Tleave+$leave;
    }

    echo "<td>".$leave."</td>";
}