看了你的代码,错误有好几个,第一:你还弄不明白js跟php的区别;js是在客户端执行的脚本,而php是在服务器端执行的脚本,你想要执行删除,要么用ajax方法,要么跳转到另外一个页面执行删除操作之后再返回,给你第二种方法:重新写function a()函数:
function a(n){
window.location.href="delete.php?id="+n;
}
同一目录下新建一个delete.php;代码如下:直接拷贝粘贴:
header('content-type:text/html;charset=utf8');
$id = $_GET['id'];
//连接数据库(你自己写)
//执行删除操作
$del='delete from spbd_a where spid='.$id;
mysql_query($del)or die('有毛病');
echo'';
?>
错误二:id必须是唯一的:你的页面错误三:php传递数组的话应该用
你的程序存在严重的逻辑错误!
你目前只是懂得了部分PHP函数和语法的使用,同样也懂得了部分js的语法使用,但是,你却没有明白PHP与javascript的真正运行原理。
要知道,下面的这做程序
alert('a1= '+a1);
if(a1=n){
alert('n的值是:'+n+' a1= '+a1);
$aa=.echo."";
$id=='a1';
$del='delete from spbd_a where spid=$aa';
mysql_query($del)or die('有毛病');
?>
alert('删除成功');}}
其中, 之间的语句是不可控就被执行的!因为在你打开页面的那一刻,这段代码就已经执行完毕,而且里面还存在语法错误!
先说语法错误吧:$aa=.echo."";有这么用的吗?等号后面直接跟着一个点?程序会报错的。
再说,php因为先于js一步运行,在这里它是得不到js发来的值的。
你想实现这个功能,唯一的办法就是使用ajax,再开一个新的PHP页面,然后由javascript异步传输给这个页面删除的条件和命令。
我只给你一个思路,你自己去研究ajax的运行原理吧。