使用数据表时,表中的记录计数无法正确显示

时间:2014-01-20 06:05:43

标签: php mysql sql datatable

我根据查询返回的结果动态生成一个表,一切都很好,表格正在生成,数据表正确显示。但是记录的数量是错误的。这里的问题是如果我得到10条记录它显示了计数中的9条记录。但表中有10条记录。 在这方面请帮助我。 我的代码: PHP代码

mysql_select_db($database_finalkms, $finalkms);
$query_getcolumns = $qry;
$getcolumns = mysql_query($query_getcolumns, $finalkms) or die(mysql_error());
$row_getcolumns = mysql_fetch_assoc($getcolumns);
$totalRows_getcolumns = mysql_num_rows($getcolumns);
echo $totalRows_getcolumns;

表格代码

if (($getcolumns)||(mysql_errno == 0))  
{  
  echo "<table width='50%' class='table table-striped table-bordered table-hover' align='center' id='sample_2'>
  <thead><tr>";  
  if (mysql_num_rows($getcolumns)>0)  
  {  
          //loop thru the field names to print the correct headers  
          $i = 0;  
          while ($i <  mysql_num_fields($getcolumns))  
          {  
       echo "<th align='center'>". mysql_field_name($getcolumns, $i) . "</th>";  
       $i++;  
    }  
    echo "</tr></thead>";
    echo "<tbody>";

    //display the data  
    while ($rows =  mysql_fetch_assoc($getcolumns))  
    {  
      echo "<tr>";  
      foreach ($rows as $data)  
      {  
        echo "<td align='center' width=''>". $data . "</td>";  
      }  
    }  
  }else{  
    echo "<td colspan='" . ($i+1) . "'>No Results found!</td></tr>";  
  }  
  echo "</tbody></table>";  
}else{  
  echo "Error in running query :". mysql_error();  
}  

1 个答案:

答案 0 :(得分:0)

我相信你的PHP代码,第四行是做问题

$row_getcolumns = mysql_fetch_assoc($getcolumns);

实际上,当你调用mysql_fetch_assoc时,它会从顶部获取记录并将内部指针移动到下一条记录。

因此,在创建表格之前,您已经丢失了一条记录

这条代码在您的代码中似乎毫无用处。注释这一行并尝试。