JavaScript:If子句部分执行

arw*_*rwa 0 javascript php confirm

我的问题是,当条件为真时,它将关闭窗口但不执行php部分!

这是我的代码..

<script type="text/javascript">  
function onClose()  
{  
var r=confirm("Is the meeting Over!");  
if (r==true)
 {  
<?php $result=mysql_query($sql);?>  
window.close();  
 }  
else  
 {  
<?php $result2=mysql_query($sql2);?>    
 }  
}  
</script>  
Run Code Online (Sandbox Code Playgroud)

这是php部分..

$sql="UPDATE previousmeetings SET Live='0' WHERE MeetingID='34'"; //$meeting_id  

$sql2="UPDATE previousmeetings SET Live='1' WHERE MeetingID='34'";
Run Code Online (Sandbox Code Playgroud)

Sea*_*ira 7

Javascript在客户端执行,PHP在服务器上执行.运行Javascript时已经执行了PHP.

如果您希望Javascript在服务器上执行函数,那么您需要使用Ajax来调用PHP脚本,该脚本将为您执行服务器端操作.

你现在构建代码的方式,你这样做:

客户端请求 - >执行PHP代码(两个查询) - >浏览器解析HTML和Javascript - > Javascript被执行.

你想要做的是设置另一个你的Javascript可以调用的PHP脚本.这样您就可以获得所需的操作顺序:

客户端请求 - >浏览器解析HTML和Javascript - >执行Javascript.
时间过去如果需要
客户端采取行动 - > Javascript向PHP脚本发出Ajax请求 - >执行适当的查询.


Nei*_*ken 5

您正在尝试在JavaScript块中执行PHP代码.PHP是服务器端,JS是客户端,所以这不会工作.

如果你需要通过JS调用PHP脚本,你可以使用AJAX调用,像jQueryPrototype这样的库将使这更容易.