如何使用php从mysql在marquee中显示多个新闻

时间:2012-06-13 12:24:47

标签: php mysql

我有问题从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'];
}

3 个答案:

答案 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>";