在PHP字符串中插入JS变量

时间:2016-01-19 04:58:37

标签: javascript php string concat

这是我的代码:

function myFunction2(){
      var code = document.getElementById("vehicle").value;

      var aux = "<?php 
        $conn = oci_connect($_SESSION['user'], $_SESSION['pswd'], 'oracleps');
        $stid = oci_parse($conn,'select max(kmi) from 
                                lloguer where lloguer.codi_vehicle="+code+"');
               oci_execute($stid);
               $row = oci_fetch_array($stid, OCI_BOTH);
               $kmi=($row[0]);
               echo $kmi;
               ?>";

      document.getElementById("kilometres").value= aux;}

我正在尝试(非常新的)来更新id =&#34; vehicle&#34; value,它是一个文本输入,通过调用onclick =&#34; myFunction2()&#34;来实现。 我发现它的主要问题是在php字符串中,它不允许我用&#34;代码&#34;来连接字符串。介于两者之间。

我尝试过整个文件.getElementById(&#34; vehicle&#34;)。值&#39;
也尝试使用concat JS方法。

我该怎么办?


谢谢!

1 个答案:

答案 0 :(得分:3)

是的,你可以做到这一点,

  1. 该文件应为.php文件
  2. 保持分开。
  3. 在进入javascript之前,你必须首先将值解析为php变量。

    <?php 
    $conn = oci_connect($_SESSION['user'], $_SESSION['pswd'], 'oracleps');
    $stid = oci_parse($conn,'select max(kmi) from lloguer where lloguer.codi_vehicle="+code+"');
    oci_execute($stid);
    $row = oci_fetch_array($stid, OCI_BOTH);
    $kmi=($row[0]);
    ?>
    

    之后,您的值为$kmi

    现在是javascript部分

    <script type="text/javascript">
    var aux = "<?php echo  $kmi; ?>";
    </script>
    

    如果你想在javascript中访问php变量值,可以使用上面的代码,下面你可以使用ajax检索数据。

    将其保存在单独的文件中ajax.val.php

    <?php 
        $conn = oci_connect($_SESSION['user'], $_SESSION['pswd'], 'oracleps');
        $stid = oci_parse($conn,'select max(kmi) from lloguer where lloguer.codi_vehicle="+code+"');
        oci_execute($stid);
        $row = oci_fetch_array($stid, OCI_BOTH);
        echo $row[0];
        ?>
    

    在javascript中

    <script type="text/javascript">
    $(document).ready(function(){
        $("#vehicle").change(function(e){
            $.ajax({
                url : "ajax.val.php",
                data:{
                    v : $(this).val()
                },
                success: function(e){
                    $("#kilometres").val(e);
                }
            });
        });
    });
    </script>