每次循环通过时更改插入符号图标

时间:2016-10-13 15:42:24

标签: php

我有这个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; ?>

1 个答案:

答案 0 :(得分:0)

我猜测你是在谈论以下图标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_fetch_assoc($pquery)计算父查询(mysqli_num_rows)中的行数,并在查看结果时进行计数。使用整数作为键的数组

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

您可以为每个条目访问新图标。 希望我能提供帮助。