2016-07-05 43 views
0

私はダッシュボードにログインしたときにユーザーに通知を表示するプロジェクトに取り組んでいます。通知はビューに渡され、このように表示されます:私は達成しようとしています何PHPビューでアラートを閉じるときにSQLデータベースから削除

   <div class="box-body"> 
       <?php foreach ($notifications as $notification) {?> 
         <div class="alert alert-danger" style="padding: 0px; margin-bottom: 10px;"> 
          <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a> 
          <strong><?php echo $notification->getNotificationTitle();?></strong> 
          <?php echo $notification->getNotificationDescription();?> 

         </div> 
       <?php }?> 
     </div> 

アラートが却下された場合、通知は、データベースから削除することができる方法を見つけることです。私はcodeigniterとMySQLデータベースを使用しています。

+2

解読を検出するためにJSコードが必要です。サーバーにajaxリクエストを送信して、関連付けられたレコードを削除するように指示します。純粋にサーバーサイドのものであり、クライアント上で何をしているのか全く検出できないため、php自体はこれを行うことができません。 –

答えて

0

独自のカスタムポップアップを2つのボタンで作成できます。承認と却下と呼びましょう。そして、AJAXを使用すると、データベースからそのレコードのIDを使用してレコードを削除する要求を行うことができます。 foreachループに削除アンカーを表示すると、そのレコードのIDが返されます。以下のようなもの、

<a id='record_here_goes_the_id' class='record_delete_btn'> 

をそして、それをクリックであなたがポップアップ表示され、また、あなたがクリックした同じボタンからIDを取得:

$('.record_delete_btn').on('click', function(){ 
 
    var id = $(this).attr('id'); 
 
    id = id.replace('record_', '');//and now you have the id of the record you want to delete, just put in somewhere to get it for your AJAX request 
 
});

あなたができるのは、言ってみましょうidを隠し入力または別の隠し要素に入れます。ちょうどあなたがすぐ上だIDを渡すと、それに基づいて、あなたのAJAXリクエストを実行します。

$('#dismiss').on('click', function(e){ 
 
    e.preventDefault(); 
 
    //here goes your $.ajax request 
 
}); 
 
$('#approve').on('click', function(e){ 
 
    e.preventDefault(); 
 
    //here you hide the popup and do nothing, ex: $('.popup').hide(); 
 
});
<div class='popup'> 
 
    <p>What are you going to do?</p> 
 
    <a id='dismiss'>Dismiss</a> 
 
    <a id='approve'>Approve</a> 
 
</div>

あなたは却下ボタンのクリックでレコードを削除します、あなたのPHPファイルにAJAX要求を行います。 このようなものが必要です。もちろん、あなたはCSSを使ってあなたのポップアップや他のものをスタイルする必要があります。ページの読み込み時にポップアップを非表示にします。

関連する問題