在 PHP 字符串中插入 JS 变量

Dav*_*rez 5 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;}
Run Code Online (Sandbox Code Playgroud)

我正在尝试(对此非常新)通过调用 onclick="myFunction2()" 来更新 id="vehicle" 值,这是一个文本输入。我发现的主要问题是在 php 字符串内部,它不允许我将字符串与中间的“代码”变量连接起来。

我试图将整个 'document.getElementById("vehicle").value'
也尝试使用 concat JS 方法。

我该怎么办?



谢谢!

its*_*jan 3

是的,你可以实现这一点,

  1. 该文件应该是一个.php文件
  2. 将其分开。

在进入 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]);
?>
Run Code Online (Sandbox Code Playgroud)

在此之后,您将获得 中的值$kmi

现在是 javascript 部分

<script type="text/javascript">
var aux = "<?php echo  $kmi; ?>";
</script>
Run Code Online (Sandbox Code Playgroud)

如果你想在 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];
    ?>
Run Code Online (Sandbox Code Playgroud)

在 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>
Run Code Online (Sandbox Code Playgroud)