MySQL - PHP - Проверка значения следующей строки для закрытия <ul> - PullRequest
0 голосов
/ 17 декабря 2011

У меня есть 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)); ?>

Код работает для создания открытия <UL> в первой записи для категории. Однако я ищу способ добавить </UL>, когда следующий ряд имеет новую категорию. Есть ли способ перехода к следующему ряду при взаимодействии с набором записей?

1 Ответ

0 голосов
/ 17 декабря 2011

Попробуйте,

$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>";
 }
...