繁体   English   中英

如何使用jquery和php删除mysql记录

[英]how to delete mysql records with jquery and php

我整天都在尝试使用jquery删除mysql记录。 我正在按照本教程http://davidwalsh.name/animated-ajax-jquery进行操作 ,经过许多小时后,我失败了。 打击是我的php / mysql代码,用于连接和显示数据。 有人可以告诉我如何集成这两个脚本,以便我也可以删除记录吗?

$dbhost = "";
$dbuser = "";
$dbpass = "";
$dbname = "";
$dbtable ="";

$connect = mysql_connect($dbhost,$dbuser,$dbpass);

if (!$connect) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db($dbname, $connect);

$result = mysql_query("SELECT * FROM $dbtable");
while ($row = mysql_fetch_array($result)) {
     echo '
      <tr class="table odd">
       <td class="sorting">'.$row["name"].'</td>
       <td>'.$row["address"].'</td>
       <td >'.$row["city"].'</td>
       <td >'.$row["zip"].'</td>
       <td >'.$row["id"].'</td>
      </tr>';
  }

mysql_close($con);

我将在此处为该示例构建html,JQuery,PHP和数据库:

数据库

 CREATE TABLE `t1` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(45) NULL, PRIMARY KEY (`id`)); INSERT INTO `t1` (`name`) VALUES ('Jhon'); INSERT INTO `t1` (`name`) VALUES ('Bon'); INSERT INTO `t1` (`name`) VALUES ('Jovi'); 

PHP(db.php):

 <?php $username = 'kmoshe'; $password = 'password'; $host = 'localhost'; $dbname = 'test'; $conn = new PDO("mysql:host=$host;dbname=$dbname",$username, $password , array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_PERSISTENT => false, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC )); 

index.php

 <?php require_once './db.php'; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>StackOverFlow</title> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"> </script> <link rel="stylesheet" type="text/css" href="./style.css" /> <script type="text/javascript" src="app.js"></script> </head> <body> <?php $sql = "SELECT * FROM t1"; $stmt = $conn->prepare($sql); $stmt->execute(); while( $row = $stmt->fetch()){ $id = $row['id']; $name = $row['name']; ?> <div class="row"><span row-id="<?=$id?>"><?=$id?>.</span><span><?=$name?></span></div> <?php } ?> </body> 

Javascript(app.js):

 $(document).ready( function(){ $(document).on('click','.row', function(e) { let $pressedRowID =$(this).children('span').attr('row-id'); let fd = new FormData(); fd.append('id', $pressedRowID); $.ajax({ url: "delete.php", type: "POST", data: fd, processData: false, contentType: false, complete: function (results) { try { let str = JSON.parse(results.responseText); window.location.reload(); console.log(str) } catch (e) { console.error(e.message); } }, }); }) ; }); 

delete.php:

 <?php require_once './db.php'; $id = $_REQUEST['id']; $sql = "DELETE FROM t1 WHERE id = :id"; $stmt = $conn->prepare($sql); $stmt->execute(['id' => $id]); echo json_encode("id $id has been deleted"); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM