2017-03-28 11 views
2

私は動的にPHPで作成されたパネルを持つページを持っています。作成されたプロジェクトごとに、新しいパネルが作成されます。しかし、私がそれらのパネルの一つを開こうと思った時、最初のパネルだけが開きました。だから私はデータベースからIDを取得し、私のパネルのIDとしてこれを使用したい。ダイナミックIDが無効なブートストラップ折りたたみパネル

パネルの1つを調べると、データベースのIDの1つである#5が表示されます。

enter image description here

しかし残念ながらこの方法では動作しません、私は理由を知りません。誰かがそれを見て、良い方向に私を助けてくれますか?ここに私のコードです:

<?php 

$sql = "SELECT * FROM project"; 
$result = mysqli_query($db,$sql); 
while($row = mysqli_fetch_array($result)){ 
    $id = $row['id']; 
    $panelid = "#$id";?> 
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
    <div class="panel panel-default"> 
     <div class="panel-heading" role="tab" id="faqhead"> 
      <h4 class="panel-title"> 
       <?php 
       echo '<a role="button" data-toggle="collapse" data-parent="#accordion" href="'. $panelid .'" aria-expanded="false" aria-controls="collapseOne">'; 
       echo $row['projectname']; 
       echo '</a>'; 
       ?> 
      </h4> 
     </div> 
     <?php echo '<div id="'. $panelid.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">'; ?> 
      <div class="panel-body" id="faqpanel"> 
       <h1 class="">Taken 
        <small> 
         <a role="button" data-toggle="modal" data-target="#newtask"><span class="glyphicon glyphicon-plus project" style="color:#000;"></span></a> 
        </small> 
       </h1> 
       <table class="table table-hover"> 
        <thead> 
        <tr> 
         <th style="width: 5%;"></th> 
         <th style="width: 5%;">Taak ID</th> 
         <th style="width: 10%;">Taak naam</th> 
         <th style="width: 20%;">Omschrijving</th> 
         <th style="width: 10%;">Start datum</th> 
         <th style="width: 10%;">Einddatum</th> 
         <th style="width: 30%;">Notities</th> 
         <th style="width: 10%">Duur</th> 
        </tr> 
        </thead> 
        <tbody> 
        <tr> 
         <td></td> 
         <td></td> 
         <td></td> 
        </tr> 
        </tbody> 
       </table> 
      </div> 
     </div> 
    </div> 
</div> 
<?php } ?> 

更新:

+0

あなたのデータベースにはどのくらいのIDがありますか? – Akintunde007

+0

3この時点で@PhpDev – Baspa

+0

私が見ることができるように:ユーザーIDに基づいて変更しているのは、パネルdivのid属性だけです。あなたは何をしたいですか? – Hossam

答えて

1

Print all the ID'sが、これは動作しませんIDの数字のみを使用していません。いくつかのテキストとコンラッドID(例:colapse_1、colapse_2)を使用してください。

<?php 

$i = 1; 
while($i < 5){ 
    $id = $i; 
    ?> 
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
    <div class="panel panel-default"> 
     <div class="panel-heading" role="tab" id="faqhead"> 
      <h4 class="panel-title"> 
       <?php 
       echo '<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse_'. $id .'" aria-expanded="false" aria-controls="collapseOne">'; 
       echo $id; 
       echo '</a>'; 
       ?> 
      </h4> 
     </div> 
     <?php echo '<div id="collapse_'. $id.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">'; ?> 
      <div class="panel-body" id="faqpanel"> 
       <h1 class="">Taken 
        <small> 
         <a role="button" data-toggle="modal" data-target="#newtask"><span class="glyphicon glyphicon-plus project" style="color:#000;"></span></a> 
        </small> 
       </h1> 
       <table class="table table-hover"> 
        <thead> 
        <tr> 
         <th style="width: 5%;"></th> 
         <th style="width: 5%;">Taak ID</th> 
         <th style="width: 10%;">Taak naam</th> 
         <th style="width: 20%;">Omschrijving</th> 
         <th style="width: 10%;">Start datum</th> 
         <th style="width: 10%;">Einddatum</th> 
         <th style="width: 30%;">Notities</th> 
         <th style="width: 10%">Duur</th> 
        </tr> 
        </thead> 
        <tbody> 
        <tr> 
         <td></td> 
         <td></td> 
         <td></td> 
        </tr> 
        </tbody> 
       </table> 
      </div> 
     </div> 
    </div> 
</div> 

<?php $i++; } ?> 
+0

私は '$ panelid = "#$ id";?>'を '$ panelid = "#collapse_ $ id";'に変更しました。これはまだ動作しません。 – Baspa

+0

もdivに適用されます –

+0

待ってくださいコード –

関連する問題