基本上會發生什麼是這樣的:PHP/Mysql array_pop缺少第一個值
一個人去特定的畫廊,說GalleryID = 42。我做了一個查詢以獲取該圖庫中的所有圖像(具有GalleryID = 42的值),並執行單獨的查詢以獲取與該圖庫相關聯的所有評論(例如,GalleryID = 42)。總共400張圖片中,在3張不同的圖片上可能只有4條評論總數。
當我用do/while循環遍歷圖像並顯示它們時,我搜索每個圖片放置的註釋數組,隨着它循環。如果它找到與特定圖片相匹配的圖片ID,則會顯示評論值(Comment,CommentAuthor和CommentDate)。
下面是圖片查詢:
SELECT * FROM GalleryData WHERE GalleryID = 42
而對於評論查詢:
SELECT Comment, CommentAuthor, CommentDate, ID FROM Comments WHERE CategoryID=42
然後我用這個代碼把評論的可重複使用的查詢:
while(($Comments[] = mysql_fetch_assoc($rsComments)) || array_pop($Comments));
然後我使用它來循環訪問數組以查找與特定項相關的註釋ar picture
foreach($Comments as $comment)
{
if($comment['ID'] == $row_rsGalleries['ID'])
{
echo '<p>'.$comment['Comment'].' - '.$comment['CommentAuthor'].'</p>';
}
}
問題是,該代碼似乎不包括查詢中的第一個註釋。
現在,這是我做了這樣的事情的第一個項目之一,我不是一個PHP/MySQL專家,新手用戶。
當我運行查詢時,它出現了4個結果,但數組只包含3,第一個結果丟失。
它從一個Mysql查詢中獲取所有值,並將其放入一個可反覆使用的數組中,我可以一遍又一遍地使用它。值來自: – dragboatrandy 2010-10-07 17:52:50
嗯,一方面,你將會把'bool'值附加到'$ Comments'上......'mysql_fetch_assoc(...)|| array_pop(...)'在賦值之前被賦值,結果總是一個布爾值。 – meagar 2010-10-07 17:52:53
爲什麼你有'|| array_pop($評論)'? – MatTheCat 2010-10-07 17:53:57