【问题标题】:How to display SQL query in different table by GROUP BY如何通过 GROUP BY 在不同的表中显示 SQL 查询
【发布时间】:2012-11-28 08:59:34
【问题描述】:

好的,我的 SQL 查询是:

$image_results = $wpdb->get_results('SELECT * FROM uploaded_images GROUP BY album_title') ;

我现在想做的是为每个不同的 *album_title* 生成一组不同的结果,在标签中输出专辑标题,然后显示具有该专辑标题的项目列表。

这是我目前所拥有的:

<?php foreach ($image_results as $result => $coll):?>
    <h4><?php echo $coll->album_title;?></h4>
    <?php foreach ( $coll->file_name as $i => $row ) : ?>
         <p><img src="http://example.com/<?php echo  $row->file_name; ?>"/></p>
    <?php endforeach; ?>
<?php endforeach; ?>

【问题讨论】:

  • 你的意思是你想在输出album_title之后再发出一条SQL语句?
  • 我知道,但我喜欢这样使用它们
  • 我想输出如下内容:
  • 专辑 ONE 专辑 1 项目 专辑 1 项目 专辑 1 项目 专辑 1 项目 专辑 2 专辑 2 项目 专辑 2 项目 专辑 2 项目 专辑 2 项目 专辑 2 项目
  • 您是否有一个存放项目的表格,相关字段是什么?您可能可以使用带有ORDER BYJOIN 语句而不是GROUP BY

标签: php sql wordpress foreach


【解决方案1】:

在你的问题更新后,我认为这就是你要找的。请注意,我使用了ORDER BY 而不是GROUP BY。当使用 SUMAVG 或其他聚合函数时使用分组。这可以在一个循环中处理:

$image_results = $wpdb->get_results('SELECT * FROM uploaded_images ORDER BY album_title');
$curTitle = '';
foreach($image_results as $result => $col) {
    if($curTitle !== $col['album_title']) {
        $curTitle = $col['album_title'];
        echo "<h4>$curTitle</h4>";
    }
    echo '<p><img src="' . $col['file_name'] . '" /></p>';
}

【讨论】:

  • 非常感谢您。我不得不调整它以适应 wordpress,但效果很好,谢谢
  • @MikeGarlick 不客气。对不起,你不得不调整它。我对wordpress不太熟悉。不过,很高兴它奏效了。
  • 啊,不用担心它唯一的愚蠢的东西,比如 '$col['album_title']' 需要是 '$col->album_title'。再次感谢
【解决方案2】:

简单的方法:

$album_titles = array();
$image_results = $wpdb->get_results('SELECT * FROM uploaded_images GROUP BY album_title') ; 
foreach ($image_results as $result){
   $album_titles[ $result['album_title'] ][] = $result;
}

foreach( $album_titles as $title -> $images ){
 echo "<h4>".$title."</h4>";
   foreach( $images as $image ){
      echo "<br/>".$image['file_name'];
   }
}

所以你选择它,制作一个标题数组并输出具有相同标题的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多