MySQL - PHP -检查下一行的值以关闭<ul>


MySQL - PHP - Checking value of next row to close a <ul>

我有一个mysql表

|------------|-----------|------------|
|  Catagory  |    Item   |   Price    |
|------------|-----------|------------|
|    Soup    | Split Pea |  $1.99     |
|    Soup    | Onion     |  $2.99     |
| MainCourse | Steak     |  $9.99     |
| MainCourse | Shrimp    |  $11.99    |
|-------------------------------------|

我希望以html无序列表结束

 Soup<br>
       <ul>
            <li class="menuItem">Split Pea - $1.99</li>
            <li class="menuItem">Onion - $2.99</li>
       </ul>
  MainCourse<br>
       <ul>
            <li class="menuItem">Steak - $9.99</li>
            <li class="menuItem">Shrimp -$11.99</li>
       </ul>

这是我的php

 <?php $testvalue='1' ?>
 <?php do { ?>
 <?php if ($testvalue!=$row_rs_items['category']) { echo $row_rs_items['category']; echo "<br>","<ul>"; } ?> 
  <li class="menuItem"><?php echo $row_rs_items['name']; ?> - <?php echo $row_rs_items['price']; ?></li>
  <?php $testvalue=$row_rs_items['category']; ?>    
  <?php } while ($row_rs_items = mysql_fetch_assoc($rs_items)); ?>

代码的工作是在category的第一个条目上创建开放的<UL>。然而,我正在寻找一种方法来添加一个</UL>时,下一行是一个新的类别。在记录集上进行交互时,是否有办法达到下一行的峰值?

试试这个,

$row_rs_items = mysql_fetch_assoc($rs_items);
if($row_as_items)
 {
  $prevCategory=$row_rs_items['category'];
  $currCategory=$prevCategory;
  echo "<ul>";
  do
   {
      if($prevCategory!=$currCategory)
       {
          echo "</ul><ul>";
          $prevCategory=$currCategory;
        }
      echo "<li class='menuItem'>$row_rs_items[name]</li>";
      $row_rs_items = mysql_fetch_assoc($rs_items)
      if($row_rs_items)
          $currCategory=$row_rs_items['category'];
   }while($row_rs_items);
    echo "</ul>";
 }