如何基于类或id对多个表列的值求和

时间:2015-04-09 05:22:44

标签: php html html-table calculated-columns

我在一页中有多个表格。 我想从所有不同的表中计算所有价格列的总和。想要将总和值显示为总计。

例如: - 我的页面如下:您购买的商品



<!-- table for fruit items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>Apple</td>
                   <td>50</td>
               </tr>
               <tr>
                   <td>Banana</td>
                   <td>40</td>
               </tr>
        </table>

     <!-- table for cloth items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>Tshirt</td>
                   <td>500</td>
               </tr>
               <tr>
                   <td>Jeans</td>
                   <td>600</td>
               </tr>
        </table>

     .
     .
     .
     <!--multiple tables for different categories -->
     .
     .
     .

     <!-- table for home items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>TV</td>
                   <td>5000</td>
               </tr>
        </table>

<!-- Grand total of all item price for all tables-->
<div>
     <label>Grand Total:</label>
     <div>6190</div>
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

在上表中声明变量。

<?php $grand_total = 0 ?>
    <!-- table for fruit items -->
            <table>
                   <tr>
                       <th>Item</th>
                       <th>Price</th>
                   </tr>
                   <tr>
                       <td>Apple</td>
                       <td><?php $grand_total+= 50 ?> 50</td>
                   </tr>
                   <tr>
                       <td>Banana</td>
                       <td><?php $grand_total+= 40 ?>40</td>
                   </tr>
            </table>
         <!-- table for cloth items -->
            <table>
                   <tr>
                       <th>Item</th>
                       <th>Price</th>
                   </tr>
                   <tr>
                       <td>Tshirt</td>
                       <td><?php $grand_total+= 500 ?> 500</td>
                   </tr>
                   <tr>
                       <td>Jeans</td>
                       <td><?php $grand_total+= 600 ?> 600</td>
                   </tr>
            </table>

         .

         <!--multiple tables for different categories -->

         <!-- table for home items -->
            <table>
                   <tr>
                       <th>Item</th>
                       <th>Price</th>
                   </tr>
                   <tr>
                       <td>TV</td>
                       <td><?php $grand_total+= 5000 ?> 5000</td>
                   </tr>
            </table>
    <div>
    <label>Grand Total:</label>
    <div><?php echo $grand_total ?></div>
    </div>

答案 1 :(得分:0)

<table>标记之前,在PHP中创建一个变量(最初设置为0)并按价格列中的每个值递增。

您的代码如下所示:

<?php $total = 0; ?>

&#13;
&#13;
<!-- table for fruit items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>Apple</td>
                   <td>50</td>
                   <?php $total += 50; ?>
               </tr>
               <tr>
                   <td>Banana</td>
                   <td>40</td>
                   <?php $total += 40; ?>
               </tr>
        </table>

     <!-- table for cloth items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>Tshirt</td>
                   <td>500</td>
                   <?php $total += 500;?>
               </tr>
               <tr>
                   <td>Jeans</td>
                   <td>600</td>
                   <?php $total += 600; ?>
               </tr>
        </table>

     .
     .
     .
     <!--multiple tables for different categories -->
     .
     .
     .

     <!-- table for home items -->
        <table>
               <tr>
                   <th>Item</th>
                   <th>Price</th>
               </tr>
               <tr>
                   <td>TV</td>
                   <td>5000</td>
                   <?php $total += 5000; ?>
               </tr>
        </table>

<!-- Grand total of all item price for all tables-->
<div>
     <label>Grand Total:</label>
     <div>$<?php echo $total;?></div>
</div>
&#13;
&#13;
&#13;

您还可以查看PHP函数,例如number_format,以更好地格式化总值。

答案 2 :(得分:0)

将单个classNames指定给字段名称。 例如:

<td class="banana">50</td>

然后你必须在JavaScript中写这样的东西。

var bananaArray = document.getElementsByClassName("banana");
var bananaSum = 0;
for(var i=0; i<bananaArray.length; i++)
{
    $bananaSum +=bananaArray[i].innerHtml or bananaArray[i].value;
}

然后为sum创建额外的行并将其附加到表。

var tr = document.createElement("tr");
    var td1 = document.createElement("td");
        td1.innerHTML = "Sum";
    var td2 = document.createElement("td");
        td2.innerHTML = bananaSum; //this is bananaSum variable from for loop
    tr.appendChild(td1);
    tr.appendChild(td2);

然后获取您的表ID并将此行追加到它:

var table = document.getElementById("tableId)";
    table.appendChild(tr);

这就是全部:)