2016-10-13 41 views
0

我有這個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; ?> 
+0

你的問題有點含糊,所以讓我們來了解一些細節。 1.你想要改變每個菜單圖標?你能夠改變你的數據庫表嗎?你試過什麼了?舉一個你正在渲染什麼的例子,以及你想要渲染什麼。 –

+0

我目前在每個菜單標題旁都顯示了glyphicon glyphicon-collapse-down圖標,但是我想爲每個菜單使用不同的glyphicons或圖標。即組件(帶有組件圖標)存儲(帶有存儲圖標)等。由於我有while循環,它只允許我(或者我的知識說)使用glyphicon glyphicon-collapse-down圖標..任何想法? –

回答

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_num_rows數從父查詢(mysqli_fetch_assoc($pquery))的行數,而你正在經歷:3210然後,只需通過調用這些腳本中的結果。使用整數作爲鍵的數組

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

您可以訪問每個條目的新圖標。 希望我能幫上忙。

+0

謝謝,就這樣我得到這個權利,你的例子中的類別1將是$ parent ['category']('類別'),它對我的​​數據庫中的類別名稱起反應。 –

+0

然後就是一個例子。 $ icons = array(「Components(Category 1)」=>「lock」,「Storage(Category 2)」=>「repeat」); 我對嗎? 我會放什麼而不是「鎖定」和「重複」? –

+0

如果你的數據庫有一個名爲「Cool News Category」的類別,你的數組看起來像$ icons = array(「Cool News Category」=>「lock」);可能的圖標列在這裏:http://www.w3schools.com/bootstrap/bootstrap_ref_comp_glyphs.asp – CDe

相關問題