【问题标题】:PHP, Javascript Get mysql data and make calculation in javascriptPHP, Javascript 获取 mysql 数据并在 javascript 中进行计算
【发布时间】:2017-04-20 08:03:37
【问题描述】:

我有一个问题,我想从 mysql 数据库中获取一些数据(这不是问题)。 假设我想要“Ticketkosten”列中的所有数据

$result = $wpdb->get_results( "SELECT * FROM prijzen");
foreach ( $result as $print ) { 
   $ticketkosten = $print->Ticketkosten;
}

然后我想获取所有这些数据并将所有数据从“Ticketkosten”传递到一个javascript函数,然后进行计算并显示最终价格。 我想这样做的原因是因为我使用“组合框”,当我更改此框中的值时,必须再次实时进行计算。

我现在的javascript代码是:

var aantal_boekingen= new Array();
 aantal_boekingen["option1"]=1;
 aantal_boekingen["option2"]=2;
 aantal_boekingen["option3"]=3;
 aantal_boekingen["option4"]=4;
 aantal_boekingen["option5"]=5;

var ticketkosten = 12; //THIS SHOULD BE THE MYSQL "TICKETPRIJZEN" DATA

var boekingskosten = 1;

var transactiekosten = 0.29;


function boekingen() {
    var aantalBoekingen=0;
    var theForm = document.forms["vergelijk_form"];
     var selectedBoekingen = theForm.elements["aantal_boekingen"];

    aantalBoekingen = aantal_boekingen[selectedBoekingen.value];

    return aantalBoekingen;
}

function calculateTotal() {
    var ticketprijs = ticketkosten + ((boekingskosten + transactiekosten) / boekingen());
    var totaalPrijs = ticketprijs / boekingen();

    var x = document.getElementsByClassName("totalPrice");
    var i;
    for (i = 0; i < x.length; i++) {
        x[i].innerHTML = "€"+totaalPrijs.toFixed(2);
    }
}

您看到的ticketkosten 现在是硬编码的,我想要的是这个ticketkosten 变量更改为数据库的数据。

javascript 代码现在可以工作,但我希望它不会被硬编码。

简而言之:我想从数据库中获取“Ticketkosten”价格,然后将其从 php 传递到 javascript 并使用这些价格进行计算。

谁能帮帮我?我现在被困了一个多星期。

【问题讨论】:

    标签: javascript php mysql arrays calculation


    【解决方案1】:

    有很多解决方案。

    您的 JavaScript 代码在哪里?在 PHP 文件中?在 JS 文件中?

    如果它在 PHP 文件中,你可以这样做:

    var ticketkosten = <?= $ticketkosten ?>;
    

    其中 $ticketkosten 是您数据库中的值。

    如果你在一个 JS 文件中。您可以像这样从数据属性中获取值:

    var ticketkosten = document.getElementById('oneDomElement').getAttribute('data-ticketkosten');
    

    oneDomElement 可以是您想要的任何 HTML 元素(隐藏或不隐藏)。它包含一个data-attribute,其值来自数据库。

    【讨论】:

    • 感谢您的回答。它都在同一个 PHP 文件中,php 代码位于正文和页脚之后的 javascript。所以唯一要做的就是添加 var ticketkosten = = $ticketkosten ?>; ?我的 javascript 技能非常基础,如果我掌握了基础知识:P
    • 是的,如果您定义 var ticketkosten 的 JavaScript 代码位于知道 ticketkosten 值的 PHP 代码之后,您可以轻松地做到 var ticketkosten = &lt;?= $ticketkosten ?&gt;;
    • 谢谢,它有点工作。剩下的唯一问题是它只获取列的最后一个值,比如说 0,80 但不是 1,20 和 1,00
    • 是的,这是因为在您的 foreach 中,您删除了 $ticketkosten 变量的值。所以它只是最后一个将被设置。您应该将值添加到数组中,以便可以在 JavaScript 中传递数组并将其视为数组。还是您希望 $ticketkosten 变量成为您所有 ticketkosten 的总和?
    • 谢谢,我得到了数组中的数据。要正确使用它,我必须使用 JSON 数组。现在可以看到数据了,但是无法计算,因为需要转成非json数组
    猜你喜欢
    • 2014-07-09
    • 2012-08-27
    • 1970-01-01
    • 2011-01-02
    • 2021-09-30
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多