2011-08-04 31 views
-1

私は、wall_posts,group_idid、およびuser_idのフィールドを持つテーブルを持っています。削除ボタンを使用してユーザー投稿を削除する

wall_postsgroup_idが別のテーブルからインポートされ、ユーザ・エントリであり、単にユニークなグループIDであり、idは単純なカウンタであり、user_idセッションからユーザIDを取得します。

セッション中のユーザーIDとユーザーIDを比較して、削除ボタンを押すと、コードによってwall_postsがすべて取り除かれます。今私は他のPHPページにリダイレクトして削除したくありません。したがって、URLを使用することは選択肢ではありません。今、このコードはちょうど最新の投稿を削除します。たとえば、id = 10の投稿の削除ボタンをクリックし、最後の投稿のIDが12の場合です。 id = 12の投稿を削除した後、もう一度deleteボタンを押すとid = 11などの投稿が削除されます。私はあなたがあなたのFacebookページのニュースフィードやコメントを削除する方法だろうと私がしようとしているの良い例を推測する。ここで

はコードです:

if (isset($_POST['delete'])) { 
    $current_user = $_SESSION['user_id']; 
    $result = mysql_query("SELECT * FROM group_posts"); 
    while ($delete = mysql_fetch_array($result)) { 
     $group_user_id = $delete['user_id']; 
     $post_id = $delete['id']; 
    } 
    if ($current_user == $group_user_id) { 
    $sql = sprintf("DELETE FROM group_posts WHERE id = %d", $post_id); 
    mysql_query($sql); 
    } 

} 

はあなたの助けをありがとう!

+0

私はあなたが何をしたいのかよく分かりません。実際の動作と望ましい動作についてより具体的に説明できますか? –

答えて

0

単純なAjax投稿リクエストを送信すると、あなたが望むものを正確に達成することができます。クッキーは、Ajaxで送信されるので、$ _SESSIONは省略しjqueryのを使用して

はアヤックス通常づけし次のようになります。PHPは

を終了した後

$('#btnDelete').click(function(){$.post('#',{delete:1});}); 

が何かをする$ .post()に第三paremeterを追加しますすべてのレコードを削除するために、whileブロック内の2番目のifブロックを移動してください。私はちょうど

mysql_query("delete from group_posts where user_id= ".$current_user); 
+0

私はちょうどPHPを使い始めました。私はjqueryについてよく知らないです。 $( '#btnDelete')でコラボレーションできると思いますか?(function(){$。post( '#'、{delete:1});});それともチュートリアルがあれば、私にそれを案内できますか?どうもありがとうございます!!! – Cena

+0

jQueryは、あなたのhtmlに追加するjavascriptライブラリです。 jquery.comには多くの情報があり、インターネット上には多くのチュートリアルがあります。 – Einacio

0

だから私は非同期的に実際にブラウザでそのページに行くことなくページを呼び出すことが、何を意味するものではありませんが、これをやって、Einacioが言ったことに加えて、それが正しいしまったために、全体proccessを変更したいです。

データベース内のエントリを削除するPHPページは、通常と同じページになります。違いは、それをどのように呼び出すかです。この場合、Einacioの機能が掲載されています。このJavascriptの部分はページを呼び出し、パラメータを送信し、もしあれば応答を返します。 www.jquery.comにアクセスし、AJAXの例を検索して試してみてください。それほど難しいことではありません。

関連する問題