【问题标题】:how to fetch a database value and store in javascript variable [duplicate]如何获取数据库值并存储在javascript变量中[重复]
【发布时间】:2014-01-03 16:27:07
【问题描述】:

你好,我是 php 初学者。

我创建了一个电子商务网站。

首先我从数据库中获取所有信息。 一切正常,但我在数量输入中遇到问题

当我插入数量值时,总计计算总计。

我使用 js 但我不知道从数据库中获取 price 值并存储在 javascript 变量中。

代码是:

<?php

                echo "ISBN:". $row['isbn']."<br/>";
                echo "Publisher:". $row['publisher']."<br/>";
                echo "Year:". $row['year']."<br/>";
                echo "Price:". $row['price']."<br/>";
                ?>
Qty : <input type="text" name="qty1" id="qty"/><br>


Total : <input type="text" name="total" id="total"/>

<a href="javascript:sumInputs()">Sum</a>


<script>
window.sumInputs = function() {
    var inputs = document.getElementsByTagName('input'),
        result = document.getElementById('total'),
        sum = 0;            
    var q = $row['price']; //how to resolve this line


    for(var i=0; i<inputs.length; i++) {
        var ip = inputs[i];

        if (ip.name && ip.name.indexOf("total") < 0) {
            sum = parseInt(ip.value)*q || 0;
        }

    }

    result.value = sum;
}


</script>

【问题讨论】:

  • 好吧,您可以向您的服务发出 AJAX 请求,并将来自服务的响应存储到您的回调函数中的一个变量中。

标签: javascript php mysql


【解决方案1】:

您可以通过简单地告诉解析器“打印到 javascript”来组合 javascript 和 php 功能。当客户端“查看”html文件时,正在执行javascript。

var q = parseFloat(<?php echo $row['price']; ?>);

注意$row['price'] 包含一个带有. 作为小数点的数字 - 比如10.33 和行

; ?&gt;;

第一个 ; 是 php 变量声明的结束,第二个 ; - 在?&gt; 之后是结束 javascript 的变量声明。

注意 - 这仅适用于 Javascript 代码和 HTML 内容位于同一页面上的情况。处理外部 Javascript 源时 - 在您的 PHP 中编写类似这样的内容

echo '<script>var q = "' . $row['sum'] . '";</script>";

然后在你的外部js文件中使用q

【讨论】:

    猜你喜欢
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 2011-07-31
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多