如何在javascript确认框中执行代码

时间:2015-08-08 12:10:49

标签: javascript php mysql

我有一个JavaScript确认框,我有一些MySQL插入查询代码在某些情况下执行。这就是我的代码的样子:

<?php
$id = $_POST['id'];
$name= $_POST['name'];
$query = mysql_query("select * from table where id='$id'");
$count    =   mysql_num_rows($query );

if($count!=0)
{
?>
   <script type="text/javascript">  
        if (confirm("This seems to be Duplicate. Do you want to continue ?") == true)
        {
            //Execute/Insert into table as how it is given below
        }
        else
        {
            //Dont execute/insert into table but close the window
        }
     </script>
<?php
}
else
{
    $queryinsert = mysql_query("INSERT INTO table(id,name) VALUES('$id','$name')");
}
?>

2 个答案:

答案 0 :(得分:2)

你不能在javascript中执行MySQL或PHP命令,你可以做的是创建一个可以通过Ajax调用的PHP函数。最好的方法是在网址中使用jQueryredirecting页面和PHP函数。

<script type="text/javascript">  
    if (confirm("This seems to be Duplicate. Do you want to continue ?"))
    {
        $.ajax({
            url: 'your_path_to_php_function.php',
            type: 'POST', // Or any HTTP method you like
            data: {data: 'any_external_data'}
        })
        .done(function( data ) {
            // do_something()
        });
    }
    else
    {
        window.location = 'your_url?yourspecialtag=true'
    }
 </script>

答案 1 :(得分:0)

您正在混合使用服务器端和客户端。这不会奏效。您必须使用AJAX,这是异步服务器 - 客户端/客户端 - 服务器请求。我推荐jQuery,这是一个很容易处理很多东西的JavaScript,包括AJAX。

如果用户确认操作

,请运行此选项
$.post("phpscript.php", {action: true})

Php文件:

if ($_POST['action'] === TRUE) {
    <your code here>
}