我有问题从mysql检索数据以显示在选框中,当我转到我的网页时,它只显示来自数据库的一个数据在marquee.my问题是如何检索所有存储的数据。谢谢你 下面是代码部分:
$select="SELECT newsid, headlines from news WHERE uploaddate order by uploaddate desc limit 4";
$rsd=mysql_query($select);
while($row = mysql_fetch_array($rsd))
{
$newsid=$row['newsid'];
$tittle=$row['headlines'];
$uploaddate=$rowdata['uploaddate'];
}
答案 0 :(得分:1)
“只有一个数据”是什么意思?
也许问题就在这里
while($row = mysql_fetch_array($rsd))
{
$newsid=$row['newsid'];
$tittle=$row['headlines'];
$uploaddate=$rowdata['uploaddate'];
}
这样你就会一遍又一遍地覆盖变量,所以在循环结束时,你只能获得最后的记录值。
一种可能的解决方案是创建一个数组(数组)并将数据存储到其中。
所以
$result = array()
while($row = mysql_fetch_array($rsd))
{
$result[] = array('news_id' => $row['newsid'],
'title' => $row['headlines'],
'upload_date' => $rowdata['uploaddate']);
}
答案 1 :(得分:0)
最有可能的问题是你一遍又一遍地写相同的变量
while($row = mysql_fetch_array($rsd))
{
$newsid=$row['newsid'];
$tittle=$row['headlines'];
$uploaddate=$rowdata['uploaddate'];
}
你最终会得到最后一个值newsid,title和upload date,所以我建议你在循环中回显数据。 例如:
while($row = mysql_fetch_array($rsd))
{
$newsid=$row['newsid'];
$tittle=$row['headlines'];
$uploaddate=$rowdata['uploaddate'];
printf('<a href="/news.php?story=%d">%s</a> - on %s',$newsid,$title,$uploaddate);
}
或将数据存储到数组
$stories = array();
while($row = mysql_fetch_array($rsd))
{
$stories[] = $row;
}
答案 2 :(得分:0)
你试试吧..
while($row = mysql_fetch_array($rsd))
{
$newsid=$row['newsid'];
$tittle=$row['headlines'];
$uploaddate=$rowdata['uploaddate'];
$cont.="<a href='newpage.php?$newsid'>$title - $uploaddate</a>";
}
echo "<marquee>$cont</marquee>";