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部分最开头处,最坏也要放在查询记录代码之前。