php与javascript计算

php与javascript计算,php,javascript,sql,Php,Javascript,Sql,我正在学习javascript,希望你们能帮助我 这是我的密码 下面的代码用于显示我数据库中的成分名称 <?php $q = pg_query("Select * FROM tblingredients"); while($r = pg_fetch_assoc($q)) { echo ' <li> <a href="#" onclick="showOrder(\''.$r_ing['ingredientid'].'\', '.$r_ing['

我正在学习javascript,希望你们能帮助我

这是我的密码

下面的代码用于显示我数据库中的成分名称

<?php
$q = pg_query("Select * FROM tblingredients");
while($r = pg_fetch_assoc($q)) {
     echo '
     <li>
     <a href="#" onclick="showOrder(\''.$r_ing['ingredientid'].'\', '.$r_ing['ingprice'].'); return     false;">'.$r_ing['ingredientname'].'</a><br>             
    </li>';
    } 
?>

然后我有一个单独的代码,用于显示上面所选配料名称的名称和价格。当用户点击上面的配料名称时,下面的代码将显示所选配料的名称和价格

<?php 
$q_order = pg_query("Select * FROM tblingredients");
    while($r_order = pg_fetch_assoc($q_order)) {
    ?>
<div id="<?php echo $r_order['ingredientid'];?>" style="display: none;" class="cart_item">
<div class="item_amount">1x</div>
    <div class="item_name">
        <a href=""><?php echo $r_order['ingredientname']; ?></a> </div>
        <a title="Remove item" rel="tooltip" onclick="deleteItem(<?php echo $r_order['ingredientid'];?>)"    class="close" href="">×</a>
    <div class="item_cart_price"><?php echo $r_order['ingredientprice']; ?></div>
</div><!--cart_item-->
<?php $i++;} ?>
<div id="total"></div>

下面是我想显示所选配料的总价格的地方

<?php 
$q_order = pg_query("Select * FROM tblingredients");
    while($r_order = pg_fetch_assoc($q_order)) {
    ?>
<div id="<?php echo $r_order['ingredientid'];?>" style="display: none;" class="cart_item">
<div class="item_amount">1x</div>
    <div class="item_name">
        <a href=""><?php echo $r_order['ingredientname']; ?></a> </div>
        <a title="Remove item" rel="tooltip" onclick="deleteItem(<?php echo $r_order['ingredientid'];?>)"    class="close" href="">×</a>
    <div class="item_cart_price"><?php echo $r_order['ingredientprice']; ?></div>
</div><!--cart_item-->
<?php $i++;} ?>
<div id="total"></div>

这是我的javascript代码,这是我的问题

<script type="text/javascript">
function showOrder(id, price) {
    document.getElementById(id).style.display = 'block';
    total = parseInt(price, 10);
    document.getElementById('total').innerHTML += total;
};
</script>

函数showOrder(id、价格){
document.getElementById(id).style.display='block';
总计=parseInt(价格,10);
document.getElementById('total')。innerHTML+=total;
};
上面的javascript所做的只是连接na价格,而不会添加价格。 假设用户点击价格为5的成分A,价格为10的成分B,价格为20的成分C

总计显示如下->51020

我正在学习javascript并尝试将其应用到我的php代码中。提前感谢您的回答

此外,如果用户使用上述代码单击X,我希望删除所选成分

<a title="Remove item" rel="tooltip" onclick="deleteItem(<?php echo $r_order['ingredientid'];?>)" class="close" href="">×</a>


谢谢。

试试这样的

function showOrder(id, price) {
    document.getElementById(id).style.display = 'block';
    price = parseInt(price, 10);
    oldTotal = parseInt(document.getElementById('total').innerHTML);
    if (isNaN(oldTotal)) {oldTotal = 0;}
    total = price + oldTotal;
    document.getElementById('total').innerHTML = total;
};

PHP代码似乎混合了逻辑和表示;此外,它与特定数据库(PostgreSQL)紧密耦合。考虑使用PDO()来将数据库与代码解耦。并考虑使用PHP框架从演示中分离逻辑。(我使用XML和XSLT)是的,我忘了提到im使用postgresql作为我的数据库,但是代码在屏幕上显示得很好。只是计算不起作用。一旦你修复了计算,我强烈建议你也发布代码,以获得如何改进的建议。谢谢Dave,我希望有人能帮助我修复计算。这意味着“不是数字”。document.getElementById('total')的值到底是多少?目前没有total的值。只有在用户选择ingredientnow后才会计算总计。如果用户取消选择配料,如何将所选配料扣除到总价中?我想您可以调用相同的showOrder函数,但传递价格的倒数。