2015-08-08 32 views
-1

代碼裏面我有一個JavaScript確認框,我有一些MySQL的插入一些條件要執行查詢代碼。這就是我的代碼的樣子:如何執行JavaScript確認框

<?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')"); 
} 
?> 
+1

我想你需要做一些關於AJAX的研究,可能是JQuery – RiggsFolly

+0

你能分享更多的代碼嗎?你如何得到這個片段?你會需要調用Ajax調用PHP腳本確認後,或者你可以做一個location.href =「myscript.php ignoreDuplicate = 1?」;然後使用它像'如果($計數!= 0 &&(!isset($ _ GET [ 'ignoreDuplicate'] || $ _GET [ 'ignoreDuplicate'] == 0))){...}' 這的如果你不使用任何框架,當然應該這樣做。 –

回答

2

您不能執行JavaScript的內部MySQL或PHP命令,你可以做什麼,而不是是讓一個PHP函數你可以通過Ajax調用。最好的辦法是通過使用jQueryredirecting的頁面與URL您的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> 
0

您正在混合服務器端和客戶端腳本。這不起作用。你必須使用AJAX,這是異步的服務器 - 客戶端/客戶端 - 服務器的請求。我推薦jQuery,它是可以輕鬆處理很多事情的JavaScript,包括AJAX。

運行這一點,如果用戶確認操作

$.post("phpscript.php", {action: true}) 

php文件:

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