我整天都在尝试使用jquery来删除mysql记录。我正在学习本教程http://davidwalsh.name/animated-ajax-jquery,经过几个小时我没有成功。 Blow是我的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);
答案 0 :(得分:0)
在此示例中,我将在此处构建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
$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
));
<?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>
$(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);
}
},
});
}) ;
});
<?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");