显示活动日期、姓名,然后列出已注册的姓名?!MySQL-PHP
真的需要帮助!我知道这很容易做到,但我的大脑无法启动。我有一个名为“Bookings”的db表,其中是表列“StartDate”“EventTitle”“Fornames”“names” 我要做的是查询数据库,并按事件的开始日期和标题回显事件列表,然后在每个事件旁边显示已预订到每个事件的名称 当我运行下面的代码时,它会显示StartDate、EventTitle和Forename,但会对每个条目重复这一点——我希望这是有意义的显示活动日期、姓名,然后列出已注册的姓名?!MySQL-PHP,php,mysql,Php,Mysql,真的需要帮助!我知道这很容易做到,但我的大脑无法启动。我有一个名为“Bookings”的db表,其中是表列“StartDate”“EventTitle”“Fornames”“names” 我要做的是查询数据库,并按事件的开始日期和标题回显事件列表,然后在每个事件旁边显示已预订到每个事件的名称 当我运行下面的代码时,它会显示StartDate、EventTitle和Forename,但会对每个条目重复这一点——我希望这是有意义的 $sql = "SELECT * FROM Bookings";
$sql = "SELECT *
FROM Bookings";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_array($result) or die (mysql_error());
while($row = mysql_fetch_array($result)){
echo '<table>';
echo '<tr>';
echo '<td>' . $row['StartDate'] . '</td>' . '<td>' . $row['EventTitle'] . '</td>'
.'<td>' . $row['Forenames'] . '</td>';
echo '</tr>';
echo '</table>';
}
$sql=“选择*
来自预订”;
$result=mysql\u query($sql)或die(mysql\u error());
$row=mysql\u fetch\u数组($result)或die(mysql\u error());
而($row=mysql\u fetch\u数组($result)){
回声';
回声';
回显'.$row['StartDate'].'.$row['EventTitle'.'
“.$row['Forenames']”;
回声';
回声';
}
试试:
$sql=“选择StartDate、EventTitle、GROUP_CONCAT(ForName)作为与会者
预订
按开始日期、事件标题分组”;
$result=mysql\u query($sql)或die(mysql\u error());
回声';
而($row=mysql\u fetch\u assoc($result)){
回声';
回显'.$row['StartDate'].'.$row['EventTitle'.'.'.'.'.$row['Attendes'.].'';
回声';
}
回声';
几点注意:
不会给出mysql\u fetch\u array()
中的字段名,但是$row
会给出mysql\u fetch\u assoc()
- 您发布的代码将跳过第一行结果
不需要为每一行输入
'
从组目录('Fornames')
中取出,因此它是组目录(Fornames)
-我已经更新了查询组目录的长度限制。如果您的来宾的总长度超过1024个字符(默认值),您将默默地截断名称。
$sql = "SELECT StartDate, EventTitle, GROUP_CONCAT(Fornames) as Attendees
FROM Bookings
GROUP BY StartDate, EventTitle";
$result = mysql_query($sql) or die (mysql_error());
echo '<table>';
while($row = mysql_fetch_assoc($result)){
echo '<tr>';
echo '<td>' . $row['StartDate'] . '</td>' . '<td>' . $row['EventTitle'] . '</td>'.'<td>' . $row['Attendees'] . '</td>';
echo '</tr>';
}
echo '</table>';