您好,我正在尝试使用php在html表中水平显示从mysql表中检索到的数据。下面的代码运行良好,只是它省略了我的数据库中的第一条记录(从第二条记录开始)。我确定这与柜台有关,但我似乎想不出怎么让它停止这样做。如果有人能指出我的错误,我将不胜感激!
$items = 5;
$query = "SELECT * FROM members ";
$result = mysql_query($query)
or die(mysql_error());
$row = mysql_fetch_array($result);
if (mysql_num_rows($result) > 0) {
echo '<table border="1">';
$i = 0;
while($row = mysql_fetch_array($result)){
$first_name = $row['first_name'];
if ($i==0) {
echo "<tr>\n";
}
echo "\t<td align=\center\">$first_name</td>\n";
$i++;
if ($i == $items) {
echo "</tr>\n";
$i = 0;
}
}//end while loop
if ($i > 0) {
for (;$i < $items; $i++) {
echo "<td> </td>\n";
}
echo '</tr>';
}//end ($i>0) if
echo '</table>';
}else {
echo 'no records found';
}发布于 2013-07-15 02:55:09
尝试删除第一个
$row = mysql_fetch_array($result);
您调用了它两次,这就是它在while循环中跳过1行的原因
发布于 2013-07-15 03:00:00
试试这个更简单的方法。
$items = 5;
$query = "SELECT * FROM members ";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
echo '<table border="1">';
while($row = mysql_fetch_array($result)){
$first_name = $row['first_name'];
echo "<tr>";
for ($i=0 ; $i <= $items ;$i++) {
echo "<td align='center'>".$first_name."</td>";
}
}//end while loop
echo "</tr>";
echo '</table>';
}else{ echo 'no records found'; }发布于 2014-05-31 00:40:57
我以前遇到过这个问题。尝试使用do while循环。示例
do {
// code
} while($row = mysql_fetch_array($result)); //end while loophttps://stackoverflow.com/questions/17642543
复制相似问题