隐藏Retriving表的空值或空值

时间:2016-12-21 05:58:31

标签: php mysql

$sql="(SELECT userID AS ID,userName FROM user) UNION ALL 
(SELECT pageID AS ID,pageName FROM page) ORDER BY ID ASC";
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res))
{   
    echo "<ul class='user'>";
    echo '<li>';
    echo $row['userName'];echo '</li>';
    echo '<li>';
    echo $row['pageName'];echo '</li>';
    echo '</ul>';
}

这是我的简单代码我通过使用union连接两个表但结果不同然后在第一个iteraton userName中打印并且pageName <li>为空,在第二次迭代中打印pageName而userName <li>是空的,所以我不想要的是空值 不应该在查询中考虑只打印结果应该是echo 并在给定的图像中看到每隔2 <li>有一个空值,我不知道如何实现它 image for the above query

2 个答案:

答案 0 :(得分:2)

UNION statement州的文件:

  

第一个SELECT语句中的列名用作返回结果的列名。

因此,查询返回的列名为IDuserName。没有pageName。这就是为什么$row['pageName']总是空的。

  

我使用union

连接了两个表

UNIONJOINUNION将两个单独查询的结果集放在一起,JOIN允许您在结果集中生成包含两个或更多表的值的行。

答案 1 :(得分:1)

请尝试以下代码

$(document).ready(function() {
    $("#cal3").datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "dd/mm/y",
        onSelect: function(selectedDate) {
            //$("#cal4").datepicker("setDate", selectedDate);
            var date = $(this).datepicker("getDate");
            date.setDate(date.getDate() + 3);
            $("#cal4").datepicker("setDate", date);
            $("#cal4").datepicker( "option", "minDate", selectedDate );
        }
    });
    $("#cal4").datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "dd/mm/y",
        onSelect: function(selectedDate) {
            $("#cal3").datepicker( "option", "maxDate", selectedDate );
        }
    });
});