【问题标题】:How to get a row value from database table to use it in JavaScript / jQuery?如何从数据库表中获取行值以在 JavaScript / jQuery 中使用它?
【发布时间】:2018-01-04 07:04:48
【问题描述】:

我想从数据库中检索一个行值。 由于我们需要服务器端来访问数据库,我们必须使用 PHP 来检索值,但我不确定如何在 .js 文件中使用这个 php。

这是我正在尝试的,但它不起作用。 原因很简单。我们不能在 javascript 文件中编写 PHP。

文件.js:

<?php 
$con = mysqli_connect($server, $db_user, $db_pwd, $db_name);
$username = $_SESSION['username'];
$sql = "SELECT * FROM Holders WHERE username='$username'";
$data = mysqli_query($con, $sql);
$row = mysqli_fetch_assoc($data);
$address = $row['address'];
?>

$( document ).ready(function() {
    var addressFrmPHP = "<?= $address; ?>";
    var url = "https://api.examlesite.io/api?module=account&action=bal&add=000000000&address="+addressFrmPHP+"&tag=latest&apikey=APIKEY";
});

如何将 php $address 变量分配给 javascript addressFrmPHP 变量?

【问题讨论】:

  • 你不能在js文件中使用php
  • 那么解决办法是什么?我在我的问题中提到了你提到的@vel 有没有办法获取数据库表行值并在 jS 中使用它?

标签: javascript php jquery mysql json


【解决方案1】:

你必须创建两个文件,如下所示

getdata.php

<?php 
$con = mysqli_connect($server, $db_user, $db_pwd, $db_name);
$username = $_SESSION['username'];
$sql = "SELECT * FROM Holders WHERE username='$username'";
$data = mysqli_query($con, $sql);
$row = mysqli_fetch_assoc($data);
$address = $row['address'];
echo $address;
?>

文件.js

$( document ).ready(function() {

    /* AJAX for get data from php page */

    $.post('getdata.php', function(address) {

        var addressFrmPHP = address;
    });

    var url = "https://api.examlesite.io/api?module=account&action=bal&add=000000000&address="+addressFrmPHP+"&tag=latest&apikey=APIKEY";
});

【讨论】:

  • +1 - Ajax ($.post) 可能是 OP 想要的。 OP:我建议添加一些错误处理(如果未设置 $_SESSION['username'] 会发生什么?这可能会发生吗?)
【解决方案2】:

你必须这样做

test.php

<?php 
$con = mysqli_connect($server, $db_user, $db_pwd, $db_name);
$username = $_SESSION['username'];
$sql = "SELECT * FROM Holders WHERE username='$username'";
$data = mysqli_query($con, $sql);
$row = mysqli_fetch_assoc($data);
$address = $row['address'];

echo '<script> var address= '.$address.';</scrpit>';
?>
<script type='text/javascript' src='js/file.js'></script>

file.js

$( document ).ready(function() {
    var addressFrmPHP = address;
    var url = "https://api.examlesite.io/api?module=account&action=bal&add=000000000&address="+addressFrmPHP+"&tag=latest&apikey=APIKEY";
});

【讨论】:

  • 那么如何在 file.js 中包含 test.php 或在 test.php 中包含 file.js ?那么只有我们能用这个对吗?
【解决方案3】:

创建一个文件Getdata.php并编写如下代码:

<?php 
    $con = mysqli_connect($server, $db_user, $db_pwd, $db_name);
    $username = 'nirav4491';
    $sql = "SELECT * FROM Holders WHERE username='$username'";
    $data = mysqli_query($con, $sql);
    $row = mysqli_fetch_assoc($data);
    $address = $row['address'];

?>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="application/javascript">
        $(document).ready(function() {
            var addressFrmPHP = '<?php echo $address; ?>';
            var url = "https://api.examlesite.io/api?module=account&action=bal&add=000000000&address="+addressFrmPHP+"&tag=latest&apikey=APIKEY";
            alert(url);
        });

    </script>
</head>
</html>

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多