我根据查询返回的结果动态生成一个表,一切都很好,表格正在生成,数据表正确显示。但是记录的数量是错误的。这里的问题是如果我得到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();
}
答案 0 :(得分:0)
我相信你的PHP代码,第四行是做问题
$row_getcolumns = mysql_fetch_assoc($getcolumns);
实际上,当你调用mysql_fetch_assoc时,它会从顶部获取记录并将内部指针移动到下一条记录。
因此,在创建表格之前,您已经丢失了一条记录
这条代码在您的代码中似乎毫无用处。注释这一行并尝试。