2017-08-16 1 views
0

私はウェブサイトとそのウェブサイトで作業しており、カテゴリ>サブカテゴリ>サブカテゴリカテゴリを表示したいと考えています。phpを使用してカテゴリ、サブカテゴリおよびサブカテゴリを表示

カテゴリが表示されています。しかし、私はサブカテゴリも表示したい。ここで

カテゴリコードは次のように表示

<select> 
     <option>Select Category</option> 
       <?php 
       $query="select * from mydb"; 
       $result=mysqli_query($connect,$query); 
       while($r=mysqli_fetch_assoc($result)) 
       { 
       ?> 
     <option value="<?php echo $r['id']?>"><?php echo $r['title']?></option>          
    <?php } ?> 
    </select> 

です: - enter image description here

このようワナ・Displa: - あなたがカテゴリの階層を格納するための方法が必要なすべてのenter image description here

+0

このような階層をデータベースに保存していますか? – sauerburger

+0

@sauerburgerこれはデモだけです。私はそれを変更します。サブカテゴリを表示する方法がわかっている場合は、私に知らせてください – Unidan

答えて

0

ファーストあなたのデータベース。簡単なやり方は、カテゴリに含まれる「サブ」プレフィックスの数を指定する整数の列をテーブルに追加することです(順序付けに依存するので、確かに最良の方法ではありません)。私はこの列がlevelと呼ばれると仮定します。

第2に、出力にはチェックボックスが使用され、オプションリストは使用されません。あなたが試すことができ、カテゴリ/サブカテゴリ出力のこの種を取得するには:

<input type="checkbox" style="margin-left: 0px" /> Category <br /> 
<input type="checkbox" style="margin-left: 20px" /> Sub-Category <br /> 

は、上記のようなものを生成するには、

<?php 
$query="select * from mydb"; 
$result=mysqli_query($connect,$query); 
while($r=mysqli_fetch_assoc($result)) 
{ 
    $id = $r['id']; 
    $indent = $r['level'] * 20; 
    $title = $r['title']; 
    echo "<input type=\"checkbox\" value=\"$id\" style=\"margin-left: ${indent}px\" />$title<br />";  
}        
?> 

を使用してコードを置き換える私は別の列(例えばmy_order)を追加することをお勧めしますと、カテゴリの順序を制御するには、クエリをselect * from mydb order by my_order ascに置き換えます。

関連する問題