我有一个奇怪的问题,将查询放入一个html表,以显示在php /
mysql设置中.查询将始终产生比显示的结果多一个的结果.例如,如果返回了1组结果,则表中不会显示任何内容.如果有5,则仅显示4.我尝试使用预定义函数进行相同的查询,以根据查询生成表,并生成具有正确结果数的正确表.这是一个例子(对于缩进或缺乏的道歉):
$user_id = implode($_SESSION['user_id']);
$query = "SELECT name, address
FROM user
WHERE user_id = '$user_id'
ORDER BY date_added DESC";
$result = mysql_query($query) or die ("query failed: " . mysql_error());
echo "
Name | Address |
---|
$rowCt = 0; // Row counter
while($row = mysql_fetch_array($result))
{
if($rowCt++ % 2 == 0) $Style = "background-color: #00CCCC;";
else $Style = "background-color: #0099CC;";
echo "
";echo "
" . $row['name'] . "";echo "
" . $row['address'] . "";echo "
";}
echo "
";知道为什么会这样吗?任何帮助将不胜感激,它让我疯狂,需要弄清楚,然后才能继续前进!谢谢.
编辑
我稍微修改了它以循环遍历行数,因为该数字是正确的,并且表现在是正确的大小,但最后的结果总是为空.有任何想法吗?
$rowCt = 0; // Row counter
$i = 0;
echo mysql_num_rows($result). ' number of rows';
$num = mysql_num_rows($result);
//while($row = mysql_fetch_array($result))
while ($i < $num)
{
$row = mysql_fetch_array($result);
if($rowCt++ % 2 == 0) $Style = "background-color: #00CCCC;";
else $Style = "background-color: #0099CC;";
echo "
";echo "
" . $row['name'] . "";echo "
" . $row['address'] . "";echo "
";$i++;
}
echo "";
谢谢