0

我的mysql数据库有以下内容:

productid | productname | category
    1            XYZ         News
    2            ZYX         News 
    3            vcb         Info 

我想像这样按类别将它们显示在表组中

Category : News
xyz 
zyx

Category : Info
vcb

Etc....

目前我正在使用

$sql="SELECT * FROM database Group By category";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0) {


echo "<table cellspacing='0' cellpadding='0'>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th>catergory</th>

</tr>
</thead>";

$i = 0;

while($row = mysql_fetch_array($result))
  {
    if($i%2 == 0)
   {
      $class = 'even';
   }
   else
   {
      $class = 'odd';
   }

  {
  echo "<tbody>";
  echo "<tr class='$class'>";
   echo "<td>" . $row['productid'] . "</td>";
echo "<td style='font-weight: bold; text-align: center;'>" . $row['productname '] . "</td>"; 
echo "<td style='font-weight: bold; text-align: center;'>" . $row['category '] . "</td>";     
  echo "</tr>";
 }
       $i++;
    }

echo "</tbody>";
echo "</table>";
} else {
    echo "";
}
4

1 回答 1

0

您可以使用 MySQL 的GROUP_CONCAT(),它返回一个逗号连接的字符串 -

SELECT GROUP_CONCAT(productname) as productname FROM database Group By category

然后你的$row['productname']会看起来像XYZ,ZYX

然后,您可以使用 php 来格式化数据 - 即。

echo str_replace(',','<br />',$row['productname']);
于 2013-08-23T00:11:28.857 回答