Javascript 使用php从表列返回和
我有一张这样的桌子:Javascript 使用php从表列返回和,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一张这样的桌子: <table> <tr> <td>100</td> </tr><br> <tr> <td>200</td> </tr><br> <tr> <td>300</td> </tr><br> <tr> <td>400</td> </tr><
<table>
<tr>
<td>100</td>
</tr><br>
<tr>
<td>200</td>
</tr><br>
<tr>
<td>300</td>
</tr><br>
<tr>
<td>400</td>
</tr><br>
<tr>
<td>500</td>
</tr><br>
<tr>
<td>600</td>
</tr><br><br>
<tr>
<td>Total: </td>
<td>2100</td>
</tr>
</table>
100
200
300
400
500
600
总数:
2100
我想使用PHP计算并显示如上所示的列的总数,但我不确定如何才能做到这一点。请提供帮助。您可以使用
javascript
document.getElementById(“idHere”).value
轻松做到这一点,并将它们的总和存储在单个变量中
糟糕的是,你应该给每个td一个Id
在PHP中,您应该为它们指定
name
属性,添加submit
按钮,并从全局变量$\u POST[“nameOfTD”]获取值代码>您可以使用缓冲区读取页面内容,然后解析html:
<?php
ob_start();
?><table>
<tr>
<td class="foo">100</td>
</tr><br>
<tr>
<td class="foo">200</td>
</tr><br>
<tr>
<td>300</td>
</tr><br>
<tr>
<td>400</td>
</tr><br>
<tr>
<td>500</td>
</tr><br>
<tr>
<td>600</td>
</tr><br><br>
<tr>
<td>Total: </td>
<?php
$DOM = new DOMDocument;
$DOM->loadHTML(ob_get_contents());
$items = $DOM->getElementsByTagName('td');
function getClass($item) {
foreach ($item->attributes as $name => $attrNode) {
if ($name == 'class') {
return $attrNode->nodeValue;
}
}
}
$sum = 0;
for ($i = 0; $i < $items->length; $i++) {
$item = $items->item($i);
if (getClass($item) == 'foo') {
$sum += intval($item->nodeValue);
}
}
echo "<td>" . $sum . "</td>";
?>
</tr>
</table>
<?php
ob_end_flush();
?>
100
200
300
400
500
600
总数:
数据来自何处?它来自任何表吗?你想要一个爬虫或其他东西吗?你要么直接使用用来填充该表的数据(首选方式,该数据可能来自你的服务器),要么使用解析html文档来查找值并将其相加(效率较低的方式)如果您的表来自php循环,您可以构建一个变量$total,在进入循环之前将其设置为0,并在循环打印最后一行后回显它。如果直接用html编写,则需要JavaScript而不是php。无论如何,请张贴您的相关代码!这可能有助于您使用var count=(int)document.getElementById(“firstTD”).innerText+(int)document.getElementById(“secondTD”).innerText+。。。。。;(如果您想计算所有td的总和,这是一种方法。不要计算最后一个td,因为它将有其自身的总和。使用:document.getElementById(“totalCountTD”).innerHTML=“+count+”;@shubhamjaw如果我给某个td一个id,我可以在这里替换它吗$items=$DOM->getElementsByTagName('td'));?如何在此处使用类名或id名$items=$DOM->getElementsByTagName('td');代替td?