-3

だから私はPHPページにテーブルを持つこのフォームを持っています:

$page .='<form method="POST" action="delete.php" ID="orgForm">';
$page .= "<table> \n";
$page .= "<tr>\n";
//Decides what to display based on logged in. Only if logged in can you see all the contact's info
$page .= "<th>ID</th> \n <th>First Name</th> \n <th>Last Name</th> \n <th>Phone Number</th> \n <th>Email</th> \n";
//Loops through each contact, displaying information in a table according to login status
$sql2="SELECT cID, firstName, lastName, phoneNum, email FROM Contact WHERE oID=".$_GET['orgID'];
$result2=mysql_query($sql2, $connection) or die($sql1);
while($row2 = mysql_fetch_object($result2))
{
    $page .= "<tr>\n";
    $page .= "<td>".$row2->cID."</td>\n";
    $page .= "<td>".$row2->firstName."</td>\n";
    $page .= "<td>".$row2->lastName."</td>\n";
    $page .= "<td>".$row2->phoneNum."</td>\n";
    $page .= "<td>".$row2->email."</td>\n";
    $page .= '<td><input type="checkbox" name="checkedItem[]" value="'.$row2->cID.'"></input></td>'."\n";
    $page .="</tr>";
}
$page .= '<input name="deleteContacts" type="submit" value="Delete Selected Contacts" />'."\n";
$page .= "</form>\n";

$page .='<script src="assets/js/orgDetails.js" type="text/javascript"></script>'."\n";

削除ボタンを押したときにチェックされた行を削除できる orgDetails.js 内に jquery スクリプトを何らかの形で記述する必要があります。変更は更新せずに画面に表示する必要があり、SQL データベースから実際の行を削除できる必要もあります。誰か手を貸してくれませんか?ありがとう。

4

1 に答える 1

1

アクションurldelete.phpで、この投稿を送信した後:

if ($_POST != array()) {
    foreach ($_POST['checkedItem'] as $id) {
        mysql_query('delete from Contact where cID='.$id);
    }

    echo 'Records deleted.';
}

レコードを削除するときにページを更新したくない場合:

HTMLに追加:

<button class="delete_button">Delete selected records</button>

jsファイルを追加します。

$('.delete_button').click(function () {
    $form = $('#orgForm');

    delete_ids = [];

    $form.find('input[name=checkedItem]').each(function () {
        $checkbox = $(this);

        if ($checkbox.is(':checked')) {
            delete_ids.push($checkbox.val());
        }
    );

    $.ajax({
        url: 'delete.php',
        type: 'post',
        data: {delete_ids: delete_ids},
        success: function (result_html) { alert(result_html); },
    });
});

そしてdelete.phpで:

if ($_POST != array()) {
    foreach ($_POST['delete_ids'] as $id) {
        mysql_query('delete from Contact where cID='.$id);
    }

    echo 'Records deleted.';
}
于 2013-02-13T02:04:03.630 に答える