0

私は初心者で、PHPを学んでいるので、助けていただければ幸いです。

私はこれで一日中苦労してきました。ユーザーの最後のアクションを表す配列があり、それは日-時間-「アクションのタイプ」を記録するだけです(そしてそれはシリアル化されてmySQL DBに送信されます)。

そして、私はこのような配列を取得しています:

----編集済み----

Array([0] => Array([Date] => 2011-02-06 [Time] => 06:48 PM [Entry] => Email send 0 test)[1] => Array([Date] => 2011-02-06[時間]=>06:48 PM[エントリ]=>メール送信1テスト)[2] =>アレイ([日付] =>2011-02-06[時間]=>06:48 PM [エントリ]=>メール送信2テスト)) 

そして私の質問は、ユーザーがその特定のアクションだけを削除できるように、各行に小さなボタン/リンクを追加したいです(配列が表示されている場合)

foreach($ actionhistory as $ row){
  foreach($ row as $ key => $ value){
   echo " foo delete record- $ value";
  }
  エコー' 
'; }

質問:ユーザーはこれを自分のブラウザに表示します:

2011-02-0606:48PMメール送信0テスト
2011-02-0606:48PMメール送信1テスト
2011-02-0606:48PMEメール送信2テスト

各日付の前にリンクを追加したい。したがって、ユーザーがそのリンクをクリックすると、外部ページが読み込まれ、その特定の「レコード」をリストから削除する必要があります。

EGユーザーがエントリを削除したい

[2] =>配列([日付] =>2011-02-06[時間]=>06:48 PM[エントリ]=>電子メール送信2テスト)

彼はそのエントリの横にあるリンクをクリックします....そしてそれは私が問題を抱えているところです。そのエントリを削除し、残りを保持するにはどうすればよいですか?

4

3 に答える 3

1

なぜこれらすべての変数?そして、あなたのアレイは間違って構築されています。

$actionhistory[] = array(
  "Date" => date("Y-m-d"),
  "Time" => date("h:i A"),
  "Entry" => "Email sent ".$row." test" //This is actually user action
);

必要なのは、JavaScriptを介してアクションの履歴の特定の行をPHPスクリプトに送信することです。これにより、この行がデータベースから削除され、場合によってはテーブルから行が動的に削除されます。配列に別の要素を追加する必要があります。これは、データベース内の一意のIDです。ただし、日付/時刻/アクションを含む一意のキーがある場合を除きます。これはかなりばかげているようです。次に、jQueryなどのJSライブラリを使用して、次のように行の削除ボタンで簡単な操作を使用します。

<?php
while ( $data = $query->fetch() ){
  echo '<tr><td....</td>
    <td><input type="button" value="delete" onclick="
      $.post(\'myScript.php?id='.$data['id'].'\',function(d){
        if ( d == 1 ){
          $(this).parents("tr").eq(0).remove();
        }
      });" /></td</tr>';
}
?>

次に、myScript.phpが$ _POST ['id']を処理し、対応する行を削除し、成功した場合は1をエコーし​​て、行を削除する必要があります。[編集済み、$ _ GETではなく、$ _ POST!]

于 2011-02-07T01:06:35.583 に答える
0

私が理解した方法は、配列を削除する別のファイルに配列を渡す必要があるということでした。MySQLでは、すべての行に一意の識別子が必要です。そのため、削除する必要があるのは、削除する行のIDをクエリ文字列の削除ファイルに含めることだけです。

誤解していて、配列データ自体を他のファイルに送信したい場合は、配列をシリアル化し、urlencodeして、クエリ文字列に渡すことができます。

もう1つの方法は、すべての配列を$ _SESSIONに保持し、リンク内のクエリ文字列を介してインデックスを渡すことです。

私が助けてくれた(そして質問を理解した)ことを願っています

于 2011-02-07T01:03:35.403 に答える
0

どうもありがとうございました-一意のIDを追加して並べ替えたので、クリックするとIDのみが外部ファイルに渡され、配列の値が削除されます。先端をありがとうNAAB!

ここにコードを貼り付けると、システムがコードの最も重要な部分を切り取りますが、誰かが私の解決策を必要としている場合は、質問して送信します...

于 2011-02-07T18:54:04.740 に答える