2016-06-07 97 views
0

舉表我有一個自舉表,我使用select從我的數據庫中的值:摺疊與選擇

  <table class="table table-hover table-bordered"> 
    <thead> 
     <tr> 
     <th>Studentnamn</th> 
     <th>Student ID</th> 
     <th>Registrerade kurser</th> 
     <th>Betyg</th> 
     </tr> 

    </thead> 
    <tbody> 
     <?php include 'studentDB.php'; ?> 
    </tbody> 
    </table> 

我想讓我的表崩潰,然後顯示inputform凡onclicked行的值可以被更新。我用了下面的代碼:

$sql = "SELECT student.studName, grades.studId, grades.courseId, grades.grade FROM student 
     INNER JOIN grades ON student.studId=grades.studId"; 

try { 

    foreach ($pdo->query($sql) as $row) { 
     echo '<tr data-toggle="collapse" data-target="#collapseUpdate">'; 
     echo '<td>' . $row['studName'] . '</td>'; 
     echo '<td>' . $row['studId'] . '</td>'; 
     echo '<td>' . $row['courseId'] . '</td>'; 
     echo '<td>' . $row['grade'] . '</td>'; 
     echo '</tr>'; 

    echo '<tr>'; 
     echo '<td colspan="6" class="hiddenRow" id="collapseRow"><div class="accordian-body collapse" id="collapseUpdate"> 
       <div class="card card-block"> 
       <form class="form-horizontal" action="update.php" method="post" id="newGrade"> 

        <div class="control-group"> 
        <label class="control-label">Nytt betyg:</label> 
         <div class="controls"> 
         <p><input id="cbetyg" name="grade" type="text"></p> 
         <input type="hidden" name="studId" value="'. $row['studId'] .'"> 
         <input type="hidden" name="courseId" value="'. $row['courseId'] .'"> 
         </div> 
        </div> 

        <div class="form-actions"> 
        <input type="submit" name="submit" value="Ändra"> 
        </div> 
       </form> 

我現在的問題是,只有第一行崩潰,可以使用更新。當我點擊其他行時,第一行崩潰...有人能告訴我我能做什麼嗎?而且,如果我對所有行進行摺疊處理,我的更新是否仍然適用於每一行?

My table looks like this (click here)

謝謝!

回答

0

您在任何領域都使用相同的collapseUpdate目標。嘗試修改這些行:

代替

echo '<tr data-toggle="collapse" data-target="#collapseUpdate">'; 

使用

echo '<tr data-toggle="collapse" data-target="#collapseUpdate'.$row['studId'].'">'; 

,而是

echo '<td colspan="6" class="hiddenRow" id="collapseRow"><div class="accordian-body collapse" id="collapseUpdate"> 

使用

echo '<td colspan="6" class="hiddenRow" id="collapseRow"><div class="accordian-body collapse" id="collapseUpdate'.$row['studId'].'"> 

我懷疑studId在此表中是唯一的。

+1

它的工作!萬分感謝!! :D你是我的救命啊:) –

+0

我記得我的PK是studId和courseId的組合,所以現在該怎麼辦?由於studId不是唯一的,當單擊studId時,只有前一行(具有相同的studId)正在崩潰... –

+0

您可以使用'$ row ['studId']。'_'。$ row ['courseId' ]'而不是'$ row ['studId']''。 – Daniel