使用ajax删除php中的函数

时间:2016-11-04 04:29:34

标签: php jquery mysql ajax

我正在尝试使用ajax / jquery制作动态表。

其他功能,如添加,更新正在运行,但我的删除功能似乎无法正常工作。我正在深入研究这个问题,但没有结果。

以下是从数据库中获取数据并形成表格的代码段。 每行都有更新/删除按钮,这些按钮可以导致相应的功能。



if(mysqli_num_rows($result) > 0) 
    { 
        $number = 1; 
        while($row = mysqli_fetch_assoc($result)) 
        { 
            $data .= '<tr> 
                <td>'.$number.'</td> 
                <td>'.$row['Surname'].'</td> 
                <td>'.$row['Name'].'</td> 
                <td>'.$row['Address'].'</td> 
                <td>'.$row['Telephone'].'</td> 
                <td>'.$row['PurchaseDate'].'</td> 
                <td>'.$row['Model'].'</td> 
                <td>'.$row['SerialNumber'].'</td> 
                <td>'.$row['Notes'].'</td> 
                <td> 
                    <button onclick="GetUserDetails('.$row['id'].')" class="btn btn-warning">Update</button> 
                </td> 
                <td> 
                    <button onclick="DeleteUser('.$row['id'].')" class="btn btn-danger">Delete</button> 
                </td> 
            </tr>'; 
            $number++; 
        } 
    } 
&#13;
&#13;
&#13;

这是我的删除函数,它从其他php接收来自数据库的表的行的id。

删除功能脚本

&#13;
&#13;
function DeleteUser(id) {
    var conf = confirm("Are you sure, do you really want to delete User?");
    if (conf == true) {
        $.post("ajax/deleteUser.php", {
                id: id
            },
            function (data, status) {
                // reload Users by using readRecords();
                readRecords();
            }
        );
    }
}
&#13;
&#13;
&#13;

deletefunction php

&#13;
&#13;
<?php   
// check request   
if(isset($_POST['id']) && isset($_POST['id']) != "")   
{   
    // include Database connection file   
    include("db_connection.php");   

    // get user id   
    $client_id = $_POST['id'];   

    // delete User   
    $query = "DELETE FROM Clients WHERE id = '$client_id'";   
    if (!$result = mysqli_query($query)) {   
        exit(mysqli_error($result)); 
    }   
}   
?>   
&#13;
&#13;
&#13;

我甚至尝试进入mysql而不是mysqli,它以某种方式工作。我有点假设mysqli与mysql有不同的功能?好吧,我听说mysql已被弃用,但似乎我在这里做错了...

我不擅长编程,我正在学习,因为它成了我的新爱好。任何提示都会很感激。

2 个答案:

答案 0 :(得分:3)

mysqli_*是面向对象且更加强大的MySQL版本。

您需要将连接ID​​传递给mysqli_query()

  

混合mysqli_query(mysqli $ link,string $ query [,int $ resultmode =   MYSQLI_STORE_RESULT])

所以,更正后的代码:

if (!$result = mysqli_query($conn, $query)) {
// Where $conn is the connection identifier.

Documentation

答案 1 :(得分:0)

这个查询最后对我有用。

    // delete User  
    $query = "DELETE FROM Clients WHERE id = '$client_id'";  
   if (!$result = mysqli_query($GLOBALS["___mysqli_ston"], $query)) { 
        exit(((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false))); 
    }