我只是想从我的数据库中显示一个基本列表或项目,但由于某种原因它没有显示第一个项目,所以如果一个类别中只有一个东西它没有显示任何东西,但是如果有2它将会显示一个项目。我已添加以下代码。
查询
//this query will fetch 4 records only!
$latestVideos = mysql_query("SELECT * FROM table ORDER BY date DESC LIMIT 5")or die(mysql_error());
$posts = mysql_fetch_array($latestVideos);
while循环
while($posts = mysql_fetch_array($latestVideos)){
$dateFormat= $posts['video_date'];
$newDate=date('d-m-Y',strtotime($dateFormat));
echo $posts['video_title']
echo $newDate;
echo $posts['video_embed'];
}
答案 0 :(得分:8)
mysql_fetch_array
用于在while循环的每次迭代中返回一行数组。
额外mysql_fetch_array
将第一行放入post,并在while循环的第一次迭代中将第二行放入post。
这就是你应该做的。
$latestVideos = mysql_query("SELECT * FROM table ORDER BY date DESC LIMIT 5")or die(mysql_error());
while($posts = mysql_fetch_array($latestVideos)){
//do stuff here
}
答案 1 :(得分:3)
看起来你第一次打电话给“$ posts = mysql_fetch_array($ latestVideos);”第一行被检索并从$ latestVideos中删除。然后while循环遍历其他行。
答案 2 :(得分:2)
您使用mysql_fetch_array获取一次,但之后不使用结果。你正在阅读第一行,然后扔掉它。
$posts = mysql_fetch_array(...); # Reads 1st row
while ( $post = mysql_fetch_array() ) { # reads 2nd-Nth row
}