0

mysql からデータを取得してマーキーに表示するのに問題があります。Web ページに移動すると、データベースから 1 つのデータしかマーキーに表示されません。私の質問は、保存されているすべてのデータを取得する方法です。以下はコード セクションです。

$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'];
}
4

3 に答える 3

1

「たった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']);
}
于 2012-06-13T12:28:35.117 に答える
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;
}
于 2012-06-13T12:30:55.200 に答える
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>";
于 2012-06-13T12:36:42.000 に答える