0

これは説明するのが難しいものです...

ユーザーが販売可能な料理を追加するレストラン システムを開発していますが、ユーザーは料理が登録された後に編集/削除するオプションが必要です。

だから私が考えたのは:k、DBからデータを取得するテーブルを作成し、最後の列に編集/削除などのオプションを配置します...理解を深めるためのコードは次のとおりです。

foreach ($result as $row){                 
    echo '<tr>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['price'].'</td>';
    echo '<td>'.$row['description'].'</td>';
    echo '<td>'.'<img src="img/icons/16/delete.png" alt="delete" height="16" width="16">'.'</td>';
    echo '</tr>';             
 }

あなたが見たように、削除オプションはすでにそこにあります(機能/アクションはまだありません)これが問題です... href="delete.php? にファイルへのリンクを配置できますが、ユーザーがこのリンクをクリックすると管理ページを離れて、delete.php ページに移動します... ユーザーが削除画像をクリックしたときに、AJAX と同様に機能するようにしたいと思います. ユーザーがページを終了したくありません....

英語が下手で申し訳ありません(私の母国語ではありません)。詳細が必要な場合は、お問い合わせください。Ps: 新しい PHP プログラマー よろしくお願いします。

4

3 に答える 3

0

AJAX を使用して Delete.php を呼び出すことができるため、ページを離れることなくリクエストが実行されます。

削除ページへの実際のリンクを作成する利点は、Ajax/Javascript がなくても機能することです。したがって、単純な削除ページを作成することから始めて、後で Ajax を追加することができます。

于 2013-07-04T19:59:50.863 に答える
0

javascript または jQuery を使用して、削除する行の ID を使用して delete.php への ajax リクエストを実行します。私はよくIDを入れますが、私のjQueryは次の<tr>ようecho "<tr data-id='{$row['id']}'>"になります

$(".delete").on('click', function() {
  var id= $(this).parents('tr').data('id');
  $.ajax({
    url:"delete.php",
    type:"POST",
    data:{id:id},
    success:function(data, textStatus, jqXHR) {
      // do something with the data returned. I usually output "success" from my 
      // delete.php and then check for data.indexOf('success') != -1
      $("tr[data-id="+id+"]").remove();
    },
    error:function(jqXHR, textStatus, errorThrown) {
        alert("Error: "+jqXHR+" "+textStatus+" "+errorThrown);
    }
  });
});

私のdelete.phpページで、続行$_POST['id']する前に空でないことを確認します。使用する場合$_REQUEST['id']は、への直接リンクでも機能しますdelete.php?id=999

于 2013-07-04T20:03:44.947 に答える