爲什麼不修改SQL語句只選擇一個項目?
mysql_query("SELECT * FROM articles WHERE topic = 'IT' LIMIT 1");
但是,你的代碼中的錯誤是,你正在循環所有選定的記錄,覆蓋每次通過你的變量。如果你想存儲的所有行作爲一個數組,你應該修改你的語法是這樣的:
while($article= mysql_fetch_array($articleQuery)){
$aid[] = $article['id'];
$media[] = $article['media'];
$link[] = $article['link'];
}
...之後,你可以用aid[0]
訪問的第一行。
而是我想提出一個不同的結構:
while($article= mysql_fetch_array($articleQuery)){
$articles[]['aid'] = $article['id'];
$articles[]['media'] = $article['media'];
$articles[]['link'] = $article['link'];
}
,做什麼,是所有的數據收集到一個單一的數據結構,其中每個記錄保存所有相關的文章中的數據。你會訪問它是這樣的:如果這看起來像希伯萊你
echo $articles[0]['aid'];
echo $articles[0]['media'];
echo $articles[0]['link'];
,看看在PHP manual section for arrays。
你只想要1個數組?還是你想要一個方法中的第一個數組,你可以訪問它,以及其他數據? – trueheart78 2010-06-22 18:16:31
$ aid正在覆蓋循環的每一次迭代。 在您的最後一行中,您正在數組上下文中使用文章ID,它是一個字符串。這會給你上一篇文章ID號的第一個字符。所以,如果你上一篇文章的ID爲12345,你的echo會打印出'1'; – racerror 2010-06-22 18:25:59