使用Javascript删除sql数据库上的行



我想从我的html页面中删除一行我正在使用此功能

function delete_row(no)
{
var row=document.getElementById("frm"+no).value;
var data= {};
data.row = row;

$.ajax({
url: 'delete_formation.php',
type: 'POST',
data: data,
success: function(output){
//alert(output);
}
});
document.getElementById("row"+no+"").outerHTML="";
}

我的delete_formation.php包含一个php脚本,用于删除sql数据库中的那一行:

<?php 
/* Connexion à une base MySQL avec l'invocation de pilote */
$pdo = 'mysql:dbname=TDW;host=127.0.0.1';
$user = 'root';
$password = '00000000';
try {
$pdo = new PDO($pdo, $user, $password);
} catch (PDOException $e) {
echo 'Connexion échouée : ' . $e->getMessage();
}
$d=$_POST['row'];


try {
// sql to delete a record
$sql = 'DELETE FROM Types_formation WHERE type_id="'.$d.'"';
echo $sql ;
// use exec() because no results are returned
$pdo->exec($sql);
echo "Record deleted successfully";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}?>

这不起作用,而且我的js脚本似乎没有得到id="frm1"(例如(的文本

使用var row=document.getElementById("frm"+no).innerText;而不是var row=document.getElementById("frm"+no).value;将解决这个问题

我认为您在ajax数据变量中传递值,并且您获得数据$_post['row'],但您需要$_post[data']['row']。

如果这不起作用,我将举一个完整的例子。

最新更新