0

我有一个有几行的 li..我可以在 db 中有 NULL 时隐藏行,但是当有空时我不知道该怎么做。

这是我使用的代码:

<ul id="responds">
    <?
        $sql = $conn->prepare("SELECT id_diagnosticon, f_diagnosticon, id_paciente, id_doctor, diagnostico, diagnostico1, diagnostico2, diagnostico3, hconsulta2, presion_art, peso FROM DIAGNOSTICON where id_paciente = $_GET[id_paciente] order by id_diagnosticon DESC");
        $sql->execute();
        while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
        echo '<li id="item_'.$row["id_diagnosticon"].'">';
        echo '<div class="del_wrapper"><a href="#" class="del_button" id="del-'.$row["id_diagnosticon"].'">';
        echo '<img src="../images/icon_del.gif" border="0" />';
        echo '</a></div>'; echo ' Fecha de consulta : ';echo $row["f_diagnosticon"]; echo ' <br><br> ';
        if (!is_null($row["diagnostico"]))
            {
                echo '<b>Diagnostico de consulta :</b>'; echo $row["diagnostico"]; echo '<br><br>';
            }
        if (!is_null($row["diagnostico1"]))
            {
                echo '<b>Diagnostico 2 :</b>'; echo $row["diagnostico1"]; echo '<br><br>';
            }
        if (!is_null($row["diagnostico2"]))
            {
                echo '<b>Diagnostico 3 :</b>'; echo $row["diagnostico2"]; echo '<br><br>';
            }
            if (!is_null($row["diagnostico3"]))
            {
                echo '<b>Diagnostico 4 :</b>'; echo $row["diagnostico3"]; echo '<br><br>';
            }
        if (!is_null($row["presion_art"]))
            {
            echo '<b>Presi&oacuten Arterial : </b>'; echo $row["presion_art"];
            } 
        if (!is_null($row["peso"]))
            {
                echo ' | <b> Peso : </b>'; echo $row["peso"];
            }
        echo '<br><br>';
        echo $row["hconsulta2"].'</li>';
        }
    ?>
</ul>

所以当mysql中的数据为空时,我想在li中隐藏这些行......现在只隐藏NULL数据

    -
4

2 回答 2

1

Use empty:

if ( ! empty($row['something']) )
{
    echo $row['something'];
}
于 2013-06-27T01:02:23.240 回答
0

另一种选择是使用以下查询处理此问题COALESCE

WHERE COALESCE(SomeField,'') <> ''
于 2013-06-27T01:04:30.907 回答