为什么在javascript中获取php查询不起作用?

时间:2015-11-01 23:34:12

标签: javascript php

我在javascript里面有php,我在php里面做了一个查询,但是即使在php区域本身也无法获取查询,为什么? 我手动在PHPmyAdmin中尝试了该查询,它工作正常。 “ca”字段值为1而不是0,但在我对代码应用后,“ca”的结果为0.究竟是什么错误?并且控制台日志中没有显示错误消息。

图像: enter image description here

简单代码:

<?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>

结果:

enter image description here

1 个答案:

答案 0 :(得分:3)

问题似乎是你试图在PHP中获取javascript值,即$ssloginmember=ssloginmember;

PHP代码在页面加载到浏览器之前运行,并生成部分javascript代码。您的脚本似乎就像每次调用javascript函数时一样运行,并且好像两种语言都是相同的。

AJAX可能是您最好的解决方案 - 将数据发布到返回所需值的PHP脚本。

我怀疑您可能需要了解客户端和服务器端代码之间的差异。