js中写的php代码 删除数据库中指定的数据为什么不执行(js都执行了就是删除语句执行不里)
<td><inputid="spid"name="text"type="text"value="<?phpecho$row['spid'];?>"/></td><td><...
<td><input id="spid" name="text" type="text" value="<?php echo $row['spid'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spbh'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spmc'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spdw'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spsl'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spdj'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spzj'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['sprq'];?>" /></td>
<td><a onclick="javascript:a(<?php echo $row['spid'];?>); return false;" href="#">删除</a></td>
<script language='javascript' type='text/javascript'>;
function a(n){
var a1=document.getElementById('spid').value;"
alert('a1= '+a1);
if(a1=n){
alert('n的值是:'+n+' a1= '+a1);
<?php
$aa=.echo."<script>a1</script>";
$id=='a1';
$del='delete from spbd_a where spid=$aa';
mysql_query($del)or die('有毛病');
?>
alert('删除成功');}}
</script>
就是我点击删除的时候 得到数据ID值 经过js判断id值是否正确 如果正确就执行php中的删除语句 但我这个不成功 是错了还是方法不对 希望各位高手指点下 谢谢了 展开
<td><input id="spid" name="text" type="text" value="<?php echo $row['spbh'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spmc'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spdw'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spsl'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spdj'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['spzj'];?>" /></td>
<td><input id="spid" name="text" type="text" value="<?php echo $row['sprq'];?>" /></td>
<td><a onclick="javascript:a(<?php echo $row['spid'];?>); return false;" href="#">删除</a></td>
<script language='javascript' type='text/javascript'>;
function a(n){
var a1=document.getElementById('spid').value;"
alert('a1= '+a1);
if(a1=n){
alert('n的值是:'+n+' a1= '+a1);
<?php
$aa=.echo."<script>a1</script>";
$id=='a1';
$del='delete from spbd_a where spid=$aa';
mysql_query($del)or die('有毛病');
?>
alert('删除成功');}}
</script>
就是我点击删除的时候 得到数据ID值 经过js判断id值是否正确 如果正确就执行php中的删除语句 但我这个不成功 是错了还是方法不对 希望各位高手指点下 谢谢了 展开
2个回答
展开全部
看了你的代码,错误有好几个,第一:你还弄不明白js跟php的区别;js是在客户端执行的脚本,而php是在服务器端执行的脚本,你想要执行删除,要么用ajax方法,要么跳转到另外一个页面执行删除操作之后再返回,给你第二种方法:重新写function a()函数:
function a(n){
window.location.href="delete.php?id="+n;
}
同一目录下新建一个delete.php;代码如下:直接拷贝粘贴:
<?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'<script language='javascript' type='text/javascript'>';
echo'alert('删除成功');hisory.back();';
echo'</script>';
?>
错误二:id必须是唯一的:你的页面<input id="spid"却有那么多个:
错误三:php传递数组的话应该用 <input id="spid" name="text[]" 而你却都是 name="text" 这样的话只能传递一个值
function a(n){
window.location.href="delete.php?id="+n;
}
同一目录下新建一个delete.php;代码如下:直接拷贝粘贴:
<?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'<script language='javascript' type='text/javascript'>';
echo'alert('删除成功');hisory.back();';
echo'</script>';
?>
错误二:id必须是唯一的:你的页面<input id="spid"却有那么多个:
错误三:php传递数组的话应该用 <input id="spid" name="text[]" 而你却都是 name="text" 这样的话只能传递一个值
追问
谢谢了 很感谢 搞定了 我是Java web 转型过来的 才接触不是很懂 谢谢所有的回答者 感谢你们........................
展开全部
你的程序存在严重的逻辑错误!
你目前只是懂得了部分PHP函数和语法的使用,同样也懂得了部分js的语法使用,但是,你却没有明白PHP与javascript的真正运行原理。
要知道,下面的这做程序
alert('a1= '+a1);
if(a1=n){
alert('n的值是:'+n+' a1= '+a1);
<?php
$aa=.echo."<script>a1</script>";
$id=='a1';
$del='delete from spbd_a where spid=$aa';
mysql_query($del)or die('有毛病');
?>
alert('删除成功');}}
其中,<?php ?> 之间的语句是不可控就被执行的!因为在你打开页面的那一刻,这段代码就已经执行完毕,而且里面还存在语法错误!
先说语法错误吧:$aa=.echo."<script>a1</script>";有这么用的吗?等号后面直接跟着一个点?程序会报错的。
再说,php因为先于js一步运行,在这里它是得不到js发来的值的。
你想实现这个功能,唯一的办法就是使用ajax,再开一个新的PHP页面,然后由javascript异步传输给这个页面删除的条件和命令。
我只给你一个思路,你自己去研究ajax的运行原理吧。
你目前只是懂得了部分PHP函数和语法的使用,同样也懂得了部分js的语法使用,但是,你却没有明白PHP与javascript的真正运行原理。
要知道,下面的这做程序
alert('a1= '+a1);
if(a1=n){
alert('n的值是:'+n+' a1= '+a1);
<?php
$aa=.echo."<script>a1</script>";
$id=='a1';
$del='delete from spbd_a where spid=$aa';
mysql_query($del)or die('有毛病');
?>
alert('删除成功');}}
其中,<?php ?> 之间的语句是不可控就被执行的!因为在你打开页面的那一刻,这段代码就已经执行完毕,而且里面还存在语法错误!
先说语法错误吧:$aa=.echo."<script>a1</script>";有这么用的吗?等号后面直接跟着一个点?程序会报错的。
再说,php因为先于js一步运行,在这里它是得不到js发来的值的。
你想实现这个功能,唯一的办法就是使用ajax,再开一个新的PHP页面,然后由javascript异步传输给这个页面删除的条件和命令。
我只给你一个思路,你自己去研究ajax的运行原理吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询