在Ajax调用后刷新页面/结果

时间:2015-11-15 20:55:16

标签: php jquery sql-server ajax

所以我有一个php文件从我的数据库打印出一个表格中的结果,当我使用复选框标记结果时,它会将此变量发送到删除它的新页面。问题是,在Jquery代码所在的同一页面中,显示了所有结果,并且我希望在删除某些内容后更新结果。尝试使用window.location.reload(true);在Ajax代码中,但现在它只删除一个结果。一些方法来重新发布页面或刷新结果?

在我的sakerselect.php中:这里打印出包含复选框的所有结果:

$sql = "SELECT * FROM  WHERE Kundenr LIKE '".$_GET['kundenr'] ."'ORDER BY  CAST(Status as varchar) DESC ";

   $stmt = sqlsrv_query( $conn, $sql);
   if( $stmt == false){
       die( print_r(sqlsrv_errors(), tue) );
   }


echo "<table id='div2' border='1'>";
echo "<tr><th></th><th>Saksnr</th><th>Saksinfo</th><th>Eier</th> <th>Status</th></tr>";


while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_BOTH)) 
{


        echo "<tr>";
        echo "<td><input type='checkbox' name='id[]' class='toedit' value='"   . $row[0] . "'></td>";
        echo "<td>" . $row[0] . "</td>";
        echo "<td>" . $row[1] . "</td>";
        echo "<td>" . $row[2] . "</td>";
        echo "<td>" . $row[4] . "</td>";
        echo "</tr>";
}

sakerselect包含在我的KundeDisplay.php页面中。 KundeDisplay.php还包含这个ajax代码,将标记值发送到sakerdelete.php:

<script type="text/javascript">
    $('#deletesaker').on('click', function () {
        var ids = [];
        $(".toedit").each(function () {
            if ($(this).is(":checked")) {
                ids.push($(this).val());
            }
        });
        if (ids.length) {
            $.ajax({
                type: 'POST',
                url: "php/sakdelete.php",
                data: {
                    id: ids
                },
                success: function (data) {
                    alert(data);
                    $("p").text(data);  
                    window.location.reload(true);

                }
            });
        } else {
            alert("Please select items.");
        }
    });
</script>

在我的sakdelete.php文件中:

include 'connect-database.php';

foreach ($_POST['id'] as $id) {

    $sql = "DELETE FROM Saker Where Saksnr = $id";
    $stmt = sqlsrv_query( $conn, $sql);
    if ($stmt == false) {
        die( print_r(sqlsrv_errors(), true) );
    }  
}

1 个答案:

答案 0 :(得分:0)

您可以通过此方法一次删除一条记录

如果要删除两个,一次更多记录 试试这个....

http://www.codexworld.com/delete-multiple-records-from-mysql-in-php/