2017-10-06 17 views
0

このコードは機能していますが、ボタンをクリックしても何も変わりません。削除結果は、ページを手動で再度リフレッシュした後にのみ表示されます。 この問題を解決するために追加するものはありますか?ボタンをクリックしてテーブルからカスタム行を削除します。

<?php 
foreach($results as $value){ 
    echo "<tr>"; 
    echo "<td class='posts column-posts'>".$value->id."</td>"; 
    echo "<td class='email column-email'>".$value->email."</td>"; 
    echo "<td class='description column-description'><div id='col-container'>".$value->details."</div></td>"; 
    $delRow = "delete_registration_{$value->id}"; 
    echo "<td class='posts column-posts'><input type='submit' name= $delRow value='delete'/></td>"; 
    echo "</tr>"; 
    if(isset($_POST[$delRow])){ 
     $wpdb->delete('conference_register', array('id' => $value->id)); 
    } 
} 
+0

結果セットのクエリの上に '$ wpdb-> delete'ステートメントを移動する必要があります。これは、結果を取得して表示してから、その行を削除するからです。 – fyrye

+0

さて、私はそれを試してみましょう。 –

答えて

1

削除する場合は、行の出力をスキップする必要があります。次のようなものがあります。

<?php 
foreach($results as $value){ 
    $delRow = "delete_registration_{$value->id}"; 
    if(isset($_POST[$delRow])){ 
     $wpdb->delete('conference_register', array('id' => $value->id)); 
    } else { 
     echo "<tr>"; 
     echo "<td class='posts column-posts'>".$value->id."</td>"; 
     echo "<td class='email column-email'>".$value->email."</td>"; 
     echo "<td class='description column-description'><div id='col-container'>".$value->details."</div></td>"; 
     echo "<td class='posts column-posts'><input type='submit' name= $delRow value='delete'/></td>"; 
     echo "</tr>"; 
    } 
} 
0

行を削除すると、行が表示されなくなります。

foreach($results as $value){ 
    if(isset($_POST[$delRow])){ 
     $wpdb->delete('conference_register', array('id' => $value->id)); 
    } 
    else { 
     echo "<tr>"; 
     echo "<td class='posts column-posts'>".$value->id."</td>"; 
     echo "<td class='email column-email'>".$value->email."</td>"; 
     echo "<td class='description column-description'><div id='col-container'>".$value->details."</div></td>"; 
     $delRow = "delete_registration_{$value->id}"; 
     echo "<td class='posts column-posts'><input type='submit' name= $delRow value='delete'/></td>"; 
     echo "</tr>"; 
    } 
} 
関連する問題