0

テーブル内の複数のレコードを削除することに少し問題があります。それらを削除するためにチェックボックスを使用しましたが、機能しません。正確なコードが何であるかはわかりません。

ここに私のPHPコードがあります

<?php   
    echo "<form action='#'>
        <fieldset>
            <input type='text' name='search' value='' id='searchtalents' placeholder='Search Keywords..' size='40'/>
        </fieldset> 
    </form>";

    echo "<form name='tmsform' method='POST' action=''>";

    $sql = "SELECT * FROM talentinfo WHERE 1 LIMIT 10";
    $result = mysql_query($sql);
    if (!$result) {
        echo "Could not successfully run query ({$sql}) from DB: " . mysql_error();
        exit;
    }

    if (mysql_num_rows($result) == 0) {
        echo "No rows found";
        exit;
    }

    echo"<div id='talentinfo'><table id='mr_database' name='myform' style='border:1px solid #fff;' cellspacing=0 cellpading='2' class='pretty'>
        <thead>
            <tr>
                <th></th>
                <th></th>
                <th></th>
                <th>Mr Tracking Number</th>
                <th>First Name</th>
                <th>Middle Name</th>
                <th>Last Name</th>
                <th>Address</th>
                <th>Contact Number</th>
                <th>School</th>
                <th>Course</th>
                <th>Year Graduated</th>
                <th>Position Considered</th>
                <th>Referred Location</th>
                <th>Unit</th>
            </tr>
        </thead>";

    $counter = 40000;
    while ($row = mysql_fetch_assoc($result)) {
    $filled = (($counter % 2) == 1) ? "style='background-color:#BCD9E1;'" : "" ;
    $id = $row['talents_id'];

    echo "<tbody><tr {$filled} class='tmsdel'>";        
    echo "<td><a href ='#' rel='#edit_talents{$counter}'><center><img src='img/edit.gif' width='25' height='21' title='Edit'></center></a></td>";
    echo "<td><a href ='#'  id=".$row['talents_id'].'&idelete=talents'." class='delete'><center><img src='img/delete.png' width='25' height='21' title='Delete'></center></a></td>";
    echo "<td><input type='checkbox' name='checkbox[]' id='check".$row['talents_id']."' value='".$row['talents_id'].'&idelete=talents'."'/></td>";          
    echo "<td><a href='#' rel='#tracing_number{$counter}' style='text-decoration:none; font-weight:bold; color:#444;'>" . $row ['mr_tracking_number'] . "</a></td>";
    echo "<td>" . $row['firstname'] . "</td>";
    echo "<td>" . $row['middlename'] . "</td>";
    echo "<td>" . $row['lastname'] . "</td>";
    echo "<td>" . $row['address'] . "</td>";
    echo "<td>" . $row['contact_number'] . "</td>";
    echo "<td>" . $row['school'] . "</td>";
    echo "<td>" . $row['course'] . "</td>";
    echo "<td>" . $row['year_graduated'] . "</td>";
    echo "<td>" . $row['position_considered'] . "</td>";
    echo "<td>" . $row['referred_location'] . "</td>";
    echo "<td>" . $row['unit'] . "</td>";
    echo "</tr></tbody>";
?>

そして、ここに私のJavascriptがあります

$(function(){
    $(document).ready(function(){
    });     

    $("#delete-all").click(function(){
        $("#mr_database").remove();
        $.ajax({
            url: "modules/delete-all.php",
            type: "get",
            async: false,
            data: "check"
        });
    });
});
4

2 に答える 2

1

手順に従ってください:

  1. まず、すべてのチェックボックスに任意のクラス名を適用する必要があります。
  2. ボタンのクリックで関数を呼び出して削除してから

      var allVals = '';
    
      $("#delete-all").click(function(){
    
       $('.checkboxclass :checked').each(function() {
         allVals = allVals + $(this).val() + ',';
       });
    }
    
  3. allVals次に、変数を渡しajaxて.phpファイルに投稿する必要があります

    Like: data: 'ids=' + allVals in $.ajax

  4. 最後に、この変数をphpファイルで取得し、削除プロセスを実行できます。

    Like: $ids = explode(',', $_REQUEST['ids'); mysql クエリで ID を使用する

    これがお役に立てば幸いです。

于 2012-11-09T07:30:27.507 に答える
0

私がここで見ているのは、テーブルを表示してブラウザーでhtmlを削除するスクリプトですが、サーバー上のデータは削除しないため、かなり単純な答えです。

ここに記載されている modules/delete-all.php スクリプトを記述する必要があります: url: "modules/delete-all.php"

これには、「 delete * FROMtalentinfo 」SQL クエリが含まれている必要があります。

ただし、これにより、すべてのテーブルの内容がシームレスに削除されます。したがって、プロンプトを実行したい場合があります。

$("#delete-all").click(function(){

Check = confirm("Do you really want to delete ALL DATA ? (Hint: there is no undo)");
if (Check == true) {
 $("#mr_database").remove();
    $.ajax({
        url: "modules/delete-all.php",
        type: "get",
        async: false,
        data: "check"
    });

}
});

delete_all.php はすべてを削除する必要があるため、次のようにします。

<?php   

$sql = "delete * FROM talentinfo ";
$result = mysql_query($sql);
if (!$result) {
    echo "Could not successfully run query ({$sql}) from DB: " . mysql_error();
    exit;
} else {
    print "ok";
}
?>
于 2012-11-08T09:13:23.720 に答える