私はmysqlテーブル(exe_categories)を持っています
| | ID、タイトル、parent_id、拡張子 |
`<ul>
<li>Parentcat</li>
<ul>
<li>ParentSub</li>
<li>ParentSub</li>
<li>ParentSub</li>
</ul>
<li>Parentcat</li>
<ul>
<li>ParentSub</li>
<li>ParentSub</li>
<li>ParentSub</li>
</ul>
</ul>`
2 つの引数を使用して、ネストされたカテゴリ リストとサブカテゴリを表示したい
最初の引数は (parent_id) (0)
AND 2 番目の引数は (拡張子) 'com_extension' です
上記の 2 つの引数のネストされたカテゴリのタイトルとパスを表示したい
以下のコードを使用して正常に動作しますが、拡張引数に別の引数を持つことはできません。
<?php
function query($parent_id) { //function to run a query
$query = mysql_query ( "SELECT * FROM exe_categories WHERE parent_id=$parent_id");
return $query;
}
function has_child($query) { //This function checks if the menus has childs or not
$rows = mysql_num_rows ( $query );
if ($rows > 0) {
return true;
} else {
return false;
}
}
function fetch_menu($query) {
while ( $result = mysql_fetch_array ( $query ) ) {
$id = $result ['id'];
$extension = $result['com_bids'];
$title = $result ['title'];
$menu_link = $result ['menu_link'];
echo "<li><a href='{$menu_link}'><span>{$title}</span></a>";
if (has_child ( query ( $id ) )) {
echo "<div>";
echo '<ul role="menu" class="fofc">';
fetch_menu ( query ( $id) );
echo "</ul>";
echo "</div>";
}
echo "</li>";
}
}
fetch_menu (query(1)); //call this function with 1 parent id
?>
上記のコードは、parent_id=0 から始まるカテゴリのリストをフェッチします。これは、拡張列に別のルールを設定できないという点でのみうまく機能します。どんな助けでも大歓迎です:)
Html出力は次のようになります
- 親猫
- ParentSub
- ParentSub
- ParentSub
- 親猫
- ParentSub
- ParentSub
- ParentSub