MySQL&;带有扭曲的PHP循环
我不知道该怎么做。我有一个表(tbl_accolade),其中有几个列,分别是rep_名称、accolade_文本和customer_名称。我试图在一页上循环它们,但以一种特殊的格式。有时,每个代表都会获得多个荣誉。我希望它们循环在一起,如果我以这种方式订购,这并不困难,但是我希望标题上有代表的姓名,但我不希望重复,例如:MySQL&;带有扭曲的PHP循环,php,mysql,loops,foreach,Php,Mysql,Loops,Foreach,我不知道该怎么做。我有一个表(tbl_accolade),其中有几个列,分别是rep_名称、accolade_文本和customer_名称。我试图在一页上循环它们,但以一种特殊的格式。有时,每个代表都会获得多个荣誉。我希望它们循环在一起,如果我以这种方式订购,这并不困难,但是我希望标题上有代表的姓名,但我不希望重复,例如: Jonny B Rep Customer Accolade 1 Customer Name 1 Customer Accolade 2 Customer Name 2
Jonny B Rep
Customer Accolade 1
Customer Name 1
Customer Accolade 2
Customer Name 2
Customer Accolade 3
Customer Name 3
Victoria S Rep
Customer Accolade 4
Customer Name 4
我甚至不知道该怎么开始。有人知道一个好的开始方向吗?一个正确方向的点 似乎您只想按字母顺序排序,所以请使用
orderbyrep\u name ASC
,如下所示:
SELECT rep_name, customer_name FROM tbl_accolade
ORDER BY rep_name ASC
然后,在PHP中,在遍历结果时,有如下内容:
$last_rep = "";
while($row = $sth->fetch()) {
if ($last_rep != $row['rep_name']) {
echo '<p><strong>- '.$row['rep_name'].'</strong></p>';
$last_rep = $row['rep_name'];
}
echo '<p>Customer: '.$row['customer_name'].'</p>';
}
您甚至可以添加另一个orderby条件,对每个代表下的客户订单进行排序
SELECT rep_name, customer_name FROM tbl_accolade
ORDER BY rep_name ASC, customer_name ASC
你自己试过什么吗?如果是,请显示您的代码!我不明白:为什么您不能在查询中按代表姓名订购?@EisaAdil不,我没有开始任何操作,因为我知道我要尝试的不是我想要的。@Barmar我可以订购,但我不希望每次重复代表姓名。代表的名字和每一项荣誉都在同一张表中。实际上,我不是一个程序员,因为没有其他人想做这件事,我在度假。我自己已经了解了很多,谢谢你。我理解,对于一个从80年代就开始这样做的人来说,这可能会让人感到沮丧,但如果你不想在你的网站上教你为什么要回答问题?我将尝试为此编写代码,并发布我的想法以帮助他人。好的,很好,我可以尝试类似的东西,但我的确有
$sth->fetch())
我有while($row=mysql\u fetch\u array($result))
SELECT rep_name, customer_name FROM tbl_accolade
ORDER BY rep_name ASC, customer_name ASC