while while while while while循环
问题描述:
我有一个包含事件和日期的表格,另一个表格包含这些晚上的每个晚上的访客列表。我可以打印的夜晚,像这样:while while while while while循环
$day = date("l");
$date = getFullDateString($day);
$result = mysql_query("SELECT * FROM nights WHERE day = '$day' AND promoter = 'blah'") or die(mysql_error);
while ($row = mysql_fetch_array($result)) {
echo "<h2>";
echo $row[name];
echo " (";
echo getFullDateString($row[day]);
echo ")</h2>";
}
的问题是,为这些事件我要打印它下面的guestlist。我试过在内部放置另一个while
循环,但即使测试回声也不起作用。
$result2 = mysql_query("SELECT DISTINCT guest FROM guestlists WHERE night = '$row[name]' AND date = 'getFullDateString($row[day])'") or die(mysql_error());
while($row2 = mysql_fetch_array($result2)) {
echo $row2[0];
echo "test";
echo "<br />";
}
基本上我想以下几点:
事件1
名称1
名称2
名称3
事件2
名称1
名称2
名称3
答
你有这将不会运行的查询字符串中的方法。
尝试:
$sql = "SELECT DISTINCT guest FROM guestlists WHERE night = '".$row['name']."' AND `date` = '".getFullDateString($row['day'])."'"
此外,date
是MySQL中的保留字,反引号内封装或改为别的东西。
此外,mysql_
函数已被弃用,建议用PDO or MySQLi替换它们。
答
尝试......
$result = mysql_query("SELECT * FROM nights WHERE day = '".$day."' AND promoter = 'blah'") or die(mysql_error);
while ($row = mysql_fetch_array($result)) {
echo "<h2>".$row[cname]."</h2>";
$result2 = mysql_query("SELECT DISTINCT guest FROM guestlists WHERE night = '$row[name]' AND date = '".getFullDateString($row[day])."'") or die(mysql_error);
while ($row2 = mysql_fetch_array($result2))
{
echo $row2[cname];
}
}
你有在guestlist表事件ID? –
表中是否有条目? – avk