尝试求和时,在我的表的页脚中返回$NaN


$NaN being returned in the footer of my table when trying to SUM

我使用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>标记之间的值,您可以将其用于计算。