PHP/Mysql array_pop 缺少第一个值

标签 php mysql arrays

基本上是这样的:

一个人去了一个特定的画廊,比如说 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));

然后我使用 this to this 循环遍历数组以查找与特定图片关联的评论

foreach($Comments as $comment) 
{
  if($comment['ID'] == $row_rsGalleries['ID']) 
  {
    echo '<p>'.$comment['Comment'].' - '.$comment['CommentAuthor'].'</p>';
  }
}

问题是,这段代码似乎不包含查询中的第一条评论。

现在,这是我做过的第一个项目,我不是 php/mysql 专家,而是新手。

当我运行查询时,它给出了 4 个结果,但数组只包含 3 个,第一个结果丢失了。

最佳答案

这个结构在我看来简直是疯了。我不明白为什么它会切断第一个元素,但我真的不想花时间去找出答案:你需要修正那句话。在这种情况下使用 || 永远不会给你想要的结果。

你能描述一下这应该做什么吗?

关于PHP/Mysql array_pop 缺少第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884347/

相关文章:

php - SQL注入(inject)——还有什么?

php - 如何验证TLS SMTP证书在PHP中有效?

mysql - 如何将普通sql转换为方解石avatica sql

c - 如何从文件中获取字符串并存储在二维字符数组中,并将该二维字符数组与 C 中的字符串进行比较?

javascript - Uncaught ReferenceError : IDSelectionner is not defined

php - 带有 PHPUnit 和骨架生成器的 Netbeans 8.0.1

php - MySql php 的重复结果

mysql - 在 SQL 中,如何引用日期最接近我所在行的日期的行?

java - 在java中最有效地计算数组的最大值/最小值

java - 将数组交换到其原始状态