Php 如何使用MySQL查询以正确的顺序显示我的详细信息?
我不知道如何查询mysql来显示我想要的模式。该表存储了客户的所有预订详细信息。客户可以从多个活动中进行多次预订。在第一阶段,我只想检查客户在哪种情况下进行了预订。如果客户在活动ABC、活动XZY中预订,则系统将仅显示: 而不是像下面这样列出所有内容 这是我的疑问:Php 如何使用MySQL查询以正确的顺序显示我的详细信息?,php,mysql,Php,Mysql,我不知道如何查询mysql来显示我想要的模式。该表存储了客户的所有预订详细信息。客户可以从多个活动中进行多次预订。在第一阶段,我只想检查客户在哪种情况下进行了预订。如果客户在活动ABC、活动XZY中预订,则系统将仅显示: 而不是像下面这样列出所有内容 这是我的疑问: $query = "SELECT customer.companyName, customer.contactName, eventinfo.eventTitle,boothAlias,date, testbook.bstatu
$query = "SELECT customer.companyName, customer.contactName, eventinfo.eventTitle,boothAlias,date, testbook.bstatus, testbook.day, testbook.username, bookingID from eventinfo, testbook, customer where testbook.username=customer.username AND testbook.eventID=eventinfo.eventID
我应该如何为客户显示事件而不重复
流程是这样的,管理员将看到客户在哪个事件中预订。
接下来,管理员单击查看详细信息查看客户在所选活动中预订了哪个展位。
最后,管理员点击查看展位详细信息,查看客户预订的展位日期。
(假设展会展位将租用14天,客户可以选择预订哪一天、前3天、最后几天或中间)
您不能在数据库中输入数据 您需要在显示应用程序中执行此操作 数据库同时处理整行数据。第二行中的数据不知道前一行中的任何内容,因此如果没有大量非常复杂的工作,就无法隐藏重复
SELECT customer.companyName, customer.contactName, GROUP_CONCAT(eventinfo.eventTitle )
from eventinfo, testbook, customer
where testbook.username=customer.username AND testbook.eventID=eventinfo.eventID
group by customer.companyName, customer.contactName
如果我正确理解了您的问题,这将返回所需的列表,但事件将以逗号分隔,您需要用PHP来完成,就像Ariel说的那样。大概是这样的:
$current = '';
foreach($result as $row){
echo '<tr>'
if ($current != $row->companyName) {
$current = $row->companyName;
echo "<td>$row->companyName</td>";
}
else echo '<td></td>';
echo "<td>$row->contactName</td><td>$row->eventTitle</td>"; //etc...
echo '</tr>';
}
$current='';
foreach($结果为$行){
回声“
如果($current!=$row->companyName){
$current=$row->companyName;
回显“$row->companyName”;
}
否则回声';
echo“$row->contactName$row->eventTitle”//etc。。。
回声';
}
这将只适用于companyName字段,但会让您了解如何格式化它。确保按这些列对查询进行排序 GROUP BY如何帮助他解决问题????@bensiu GROUP BY帮不了他。如果我按eventID分组,只为客户显示事件,其他客户无法显示,这意味着在呼叫查询后,我需要使用for loop来定制显示模式?@McCheng是的,基本上<代码>$old\u customer\u id=0;对于(查询…{if($old_customer_id!=$customer_id){output_name;$old_customer_id=$customer_id;}output_other_data}