我在javascript里面有php,我在php里面做了一个查询,但是即使在php区域本身也无法获取查询,为什么? 我手动在PHPmyAdmin中尝试了该查询,它工作正常。 “ca”字段值为1而不是0,但在我对代码应用后,“ca”的结果为0.究竟是什么错误?并且控制台日志中没有显示错误消息。
简单代码:
<?php
include('ckcon.php');
include('logincheckmember.php');
?>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<style>
</style>
<script>
function kampret(){
var ssloginmember = document.getElementById('id1').textContent;
var ambilun = document.getElementById('id2').textContent;
<?php
$ssloginmember=ssloginmember;
$ambilun=ambilun;
$q=mysql_query("SELECT COUNT(ai) AS ca,unnum FROM t_follow WHERE username='$ssloginmember' AND username2='$ambilun'");
$f=mysql_fetch_object($q);
$unnum2=$f->unnum;
$ca=$f->ca;
if($ca==0){
$status='follow';
$unnum=0;
}else{
$status='unfollow';
$unnum=$unnum2;
}
?>
var status='status = '+<?php echo json_encode($status);?>;
var unnum='unnum = '+<?php echo json_encode($unnum);?>;
var output1='output1 = '+<?php echo $ssloginmember;?>;
var output2='output2 = '+<?php echo $ambilun;?>;
document.getElementById('status').innerHTML = status;
document.getElementById('unnum').innerHTML = unnum;
document.getElementById('output1').innerHTML = output1;
document.getElementById('output2').innerHTML = output2;
}
</script>
</head>
<body>
<div id="status">status</div>
<div id="unnum">unnum</div>
<div id="output1">output1</div>
<div id="output2">output2</div>
<br>
<button onClick="kampret()" >button</button><br>
<br>
<div id="id1">melisavirgi</div>
<div id="id2">ririnputrian</div>
<br>
<?php
echo "ssloginmember=$_SESSION[ssloginmember]";
?>
</body>
</html>
结果:
答案 0 :(得分:3)
问题似乎是你试图在PHP中获取javascript值,即$ssloginmember=ssloginmember;
。
PHP代码在页面加载到浏览器之前运行,并生成部分javascript代码。您的脚本似乎就像每次调用javascript函数时一样运行,并且好像两种语言都是相同的。
AJAX可能是您最好的解决方案 - 将数据发布到返回所需值的PHP脚本。
我怀疑您可能需要了解客户端和服务器端代码之间的差异。