php结合js实现点击超链接执行删除确认操作
如题,本次是要实现点击超链接实现执行js代码,并确认是否删除数据库数据,采用php。
首先链接数据库,查询数据库数据:
<?php
$dbms='mysql'; //数据库类型,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数
$host='localhost'; //数据库主机名
$dbName='db_database19'; //使用的数据库
$user='root'; //数据库连接用户名
$pass='root'; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo=newPDO($dsn,$user,$pass); //初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="select*fromtb_pdo_mysql"; //定义SQL语句
$result=$pdo->prepare($query); //准备查询语句
$result->execute(); //执行查询语句,并返回结果集
while($res=$result->fetch(PDO::FETCH_ASSOC)){ //while循环输出查询结果集,并且设置结果集的为关联索引
?>
<tr>
<tdheight="22"align="center"valign="middle"><?phpecho$res['id'];?></td>
<tdalign="center"valign="middle"><?phpecho$res['pdo_type'];?></td>
<tdalign="center"valign="middle"><?phpecho$res['database_name'];?></td>
<tdalign="center"valign="middle"><?phpecho$res['dates'];?></td>
<tdalign="center"valign="middle"><ahref="javascript:del(<?phpecho$res['id']?>)">删除</a></td>
</tr>
<?php
}
}catch(PDOException$e){
die("Error!:".$e->getMessage()."<br/>");
}
?>
在超链接删除处调用一javascript方法,传递记录id,js方法为:
<script>
functiondel(_id){
if(confirm("确认删除"))
{
window.location.href="index.php?conn_id="+_id; //本页面刷新
}
}
</script>
删除数据库记录代码:
<?php
if(@$_GET['conn_id']!=""){
$dbms='mysql'; //数据库类型,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数
$host='localhost'; //数据库主机名
$dbName='db_database19'; //使用的数据库
$user='root'; //数据库连接用户名
$pass='root'; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
try{
$pdo=newPDO($dsn,$user,$pass); //初始化一个PDO对象,就是创建了数据库连接对象$pdo
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$query="deletefromtb_pdo_mysqlwhereId=:id";
$result=$pdo->prepare($query); //预准备语句
$result->bindParam(':id',$_GET['conn_id']); //绑定更新的数据
$result->execute();
}catch(PDOException$e){
echo'PDOExceptionCaught.';
echo'Errorwiththedatabase:<br/>';
echo 'SQLQuery:'.$query;
echo'<pre>';
echo"Error:".$e->getMessage()."<br/>";
echo"Code:".$e->getCode()."<br/>";
echo"File:".$e->getFile()."<br/>";
echo"Line:".$e->getLine()."<br/>";
echo"Trace:".$e->getTraceAsString()."<br/>";
echo'</pre>';
}
}
?>
这段代码放在html页面body部分最开头处,最坏也要放在查询记录代码之前。