【发布时间】:2014-06-02 07:11:09
【问题描述】:
我有这个 mysql 示例表:
+----+---------------+-------+
| id | company | value |
+----+---------------+-------+
| 1 | google | 50 |
+----+---------------+-------+
| 2 | microsoft | 24 |
+----+---------------+-------+
| 3 | google | 12 |
+----+---------------+-------+
| 4 | microsoft | 89 |
+----+---------------+-------+
| 5 | stackoverflow | 45 |
+----+---------------+-------+
并且我想将其打印出来,以便按公司分组:
<ul class="google">
<li>50</li>
<li>12</li>
</ul>
<ul class="microsoft">
<li>24</li>
<li>89</li>
</ul>
<ul class="stackoveflow">
<li>45</li>
</ul>
这是我当前的代码:
$resultx = mysql_query();
$temp=0;
$p = array();
while ($row = mysql_fetch_array($resultx)) {
$p[$temp]['id']=$row['id'];
$p[$temp]['company']=$row['company'];
$p[$temp]['value']=$row['value'];
$temp++;
}
foreach ($p as $obj) {
echo '<ul class="'.$obj["company"].'"><li>'.$obj["value"].'</li></ul>';
};
但我的代码将整个公司打印在一起。
编辑:
我想将公司归入不同的 UL。 我会假设我必须在我的 foreach 中使用另一个 foreach。
【问题讨论】:
-
在您的查询中使用
GROUP BY -
我无法理解拥有近 3k 代表的人如何提出这样的问题 :( 您需要将值放入数组中
-
@Lashane - 也许 OP 在另一个领域有经验,比如 jQuery,他是 PHP 新手。
-
是的,这两种方式都是可以接受的,但代码还是令人困惑。为什么要使用 2 个循环而不是 1 个? Ofir,我猜他想将每个结果列为单行。
-
@OfirBaruch 哪种语言都没有关系,它是关于一般编程和理解它是如何工作的,所以有1个代表的人提出了这样的问题 - 我可以理解,但这里是。 ..