$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>
有一个空值,我不知道如何实现它
答案 0 :(得分:2)
UNION
statement州的文件:
第一个
SELECT
语句中的列名用作返回结果的列名。
因此,查询返回的列名为ID
和userName
。没有pageName
。这就是为什么$row['pageName']
总是空的。
我使用union
连接了两个表
UNION
不JOIN
。 UNION
将两个单独查询的结果集放在一起,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 );
}
});
});