每次循环执行时更改插入符号图标


Change caret icon each time while loop goes through

我有这个while循环,它根据数据库中的值动态显示导航菜单名称。但是我想为每个新菜单更改插入符号或glyficons。什么好主意吗?

 <?php while($parent =mysqli_fetch_assoc($pquery)) : ?> <!-- loops
  through
 database to find parent name = 0  -->
  <?php
   $parent_id = $parent['id']; /* stored parent id within parent_id */
   $sql2 = "SELECT * FROM categories WHERE parent ='$parent_id'";
   $cquery = $db->query($sql2);
  ?>
  <li class="dropdown">
   <a href="#" class="dropdown-toggle" data-toggle="dropdown" 
  role="button" aria-haspopup="true" aria-expanded="false"><?php echo 
  $parent['category']; ?> <span class="glyphicon glyphicon-collapse-
  down"></span></a>
    <ul class="dropdown-menu" role="menu">
      <?php while($child = mysqli_fetch_assoc($cquery)) : ?>
      <li><a href="category.php?cat=<?=$child['id'];?>"><?php echo 
    $child['category']; ?></a></li>
      <?php endwhile; ?>
     </ul>
  </li>
  &nbsp;
 <?php endwhile; ?>

我猜你说的是以下图标http://www.w3schools.com/bootstrap/bootstrap_ref_comp_glyphs.asp

在你的脚本中,它们由

定义
<a href="#" class="dropdown-toggle" data-toggle="dropdown" 
  role="button" aria-haspopup="true" aria-expanded="false"><?php echo 
  $parent['category']; ?> <span class="glyphicon glyphicon-collapse-
  down"></span></a>

如果你知道你的类别名称,你可以创建一个数组,为每个类别的图标定义,如:

$icons = array("Category 1" => "lock", "Category 2" => "repeat");

然后在你的脚本中调用它们:

<a href="#" class="dropdown-toggle" data-toggle="dropdown" 
  role="button" aria-haspopup="true" aria-expanded="false"><?php echo 
  $parent['category']; ?> <span class="glyphicon glyphicon-<?php echo $icons[$parent['category']]; ?>"></span></a>

但是,如果您不知道类别名称,则必须使用mysqli_num_rows计算父查询(mysqli_fetch_assoc($pquery))中的行,并在查看结果时进行计算。使用整数作为键的数组

$icons = array(0 => "lock", 1 => "repeat")

可以为每个条目访问一个新图标。希望我能帮上忙。