2017-04-20 30 views
0

我有一个问题,我想从一个mysql数据库中获取一些数据(这不是问题)。 比方说,我想从列“Ticketkosten”PHP,Javascript获取mysql数据并在javascript中计算

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

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

的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并使用这些价格进行计算。

任何人都可以帮我吗?我现在坚持了一个多星期。

回答

1

有很多解决方案。

您的JavaScript代码是什么?在一个PHP文件中?在一个JS文件?

如果是在一个PHP文件,你可以这样做:

var ticketkosten = <?= $ticketkosten ?>; 

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

如果你在一个JS文件。你可以从这样的数据属性获得的价值:

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

哪里oneDomElement可以是你希望(隐藏或不)任何HTML元素。它包含来自数据库的值data-attribute

+0

感谢您的回答。它的所有内容都在同一个PHP文件中,php代码位于页脚正文和javascript之后。所以唯一要做的就是添加var ticketkosten = <?= $ ticketkosten?>; ?我的JavaScript技巧是非常基本的,如果我甚至获得了基本知识:P – Dutchdeveloper

+0

是的,如果您定义var'ticketkosten'的JavaScript代码位于知道ticketkosten值的PHP代码之后,那么您可以轻松地执行'var ticketkosten = <?= $ ticketkosten?>;' –

+0

谢谢,它有用。剩下的唯一问题就是它只能得到列的最后一个值,比如说0,80而不是1,20和1,0 – Dutchdeveloper