我使用PHP。我将从SQLServer2008引入数据并创建一个表。我有一个页脚,我需要对每一列求和。我想使表中的数据可钻取。当数据不可钻取时,页脚可以完美地汇总所有内容,但当我添加href时,页脚会为该特定列返回$NaN。这是我的代码,页脚工作正常(没有hrefs):
$out = array();
while($data = odbc_fetch_array($resultsSalesOrdersHeader_SalesOrderHeader))
{
?>
<?php
$row = array(
$data['SalesOrder'],
$data['Customer'],
$data['CustomerName'],
$data['Branch'],
$data['Salesperson'],
$data['FinalDate']);
array_push($row, "$".number_format(($data['PreDateValue']),2));
array_push($row, "$".number_format(($data['Adds']),2));
array_push($row, "$".number_format(($data['Changes']),2));
array_push($row, "$".number_format(($data['Deletes']),2));
array_push($row, "$".number_format(($data['Delta']),2));
array_push($row, "$".number_format(($data['EndingValue']),2));
$out[] = $row;
}
echo json_encode(array("aaData" => $out));
?>`
页脚代码的一个片段是:
var iTotalPrice5 = 0;
for ( var i=0 ; i<aiDisplay.length ; i++ ) {
var y = aaData[ aiDisplay[i] ][11];
var z = y.replace("$","");
iTotalPrice5 += parseFloat(skipComma(z));
}
var nCells = nRow.getElementsByTagName('th');
nCells[11].innerHTML = "$"+addCommas(iTotalPrice5.toFixed(2));
这就完美地得出了总数。以下是我用来尝试添加超链接的代码片段,但它打断了页脚:
array_push($row, "<a href='index.php?p=SOEndingValue&enddate=".$enddate."&startdate=".$startdate."&SalesOrder=".$data['SalesOrder']."' target='_blank'>".
"$".number_format(($data['EndingValue']),2)."</a>");
我需要做些什么来包括超链接,并使页脚的总和正确?
正如您应该知道的,您的数组$row
是一个数字列表,您可以将这些数字相加,以在JavaScript中生成总数。添加一行文本肯定会让它注意到它不是一个数字(NaN
)。
如果要在JSON数组中传递页脚,则需要将其添加到$out
数组中的其他位置。
尝试添加
var n = str.indexOf(">")+1;
var m = str.indexOf("</a>");
z = z.substring(n, m);
在for
环路上。
for ( var i=0 ; i<aiDisplay.length ; i++ ) {
var y = aaData[ aiDisplay[i] ][11];
var n = str.indexOf(">")+1;
var m = str.indexOf("</a>");
var z = y.substring(n, m);
z = z.replace("$","");
iTotalPrice5 += parseFloat(skipComma(z));
}
这将提取<a>
和</a>
标记之间的值,您可以将其用于计算。