开发者社区> 问答> 正文

在WordPress数据库自定义表查询中按通用列名称显示数据行

我需要按通用联赛名称将foreach行分组。这是WordPress数据库自定义表查询。虽然在简单的MySql查询中可以正常工作,但是通过WP db查询,我不知道。这就是我所需要的。在这里,您可以看到我们可以按联赛名称“意大利系列A”和“英格兰超级联赛”分组。

当前数据:

联赛名称| 活动名称

意大利意甲

卡利亚里-热那亚

英格兰超级联赛 南安普敦-伯恩茅斯

英格兰超级联赛 莱切斯特-热刺

英格兰超级联赛 伯恩利-诺里奇

<------------------ XXX -----------!>

我需要这样排序。所有赛事名称都在单一的通用联赛名称下,因为没有必要重复联赛名称。

我需要这样显示的数据:

联赛名称| 活动名称

意大利意甲

卡利亚里-热那亚

英格兰超级联赛 南安普敦-伯恩茅斯

莱切斯特-热刺

伯恩利-诺里奇

<------------------ XXX -----------!>

这是示例查询。

$pre = $wpdb->get_results("SELECT * FROM prematch WHERE sport_id =1 ORDER BY timer"); $league_name = 0; foreach ($pre as $event) { $l_name = $event->league_name; $event_name = $event->event_name;

                    if($league_name != $l_name){
                    $leg_name = $event->league_name;
                    }

                     echo $leg_name;
                     echo $event_name

帮助或建议,将不胜感激。

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 15:28:16 633 0
1 条回答
写回答
取消 提交回答
  • 该方法get_results具有第二个参数:

    wpdb :: get_results(字符串$ query = null,字符串$ output = OBJECT)

    利用它并传递ARRAY_A,然后get_results将返回一个数组而不是对象:

    $pre = $wpdb->get_results("SELECT * FROM prematch WHERE sport_id =1 ORDER BY timer", ARRAY_A); 然后处理数组:

    $ligues_events = array();

    foreach ($pre as $key => $item) { $ligues_events[$item['league_name']][$key] = $item['event_name']; } 并输出:

    foreach ($ligues_events as $ligue_name => $events) { echo $ligue_name; foreach ($events as $event) { echo $event; } }

    2019-11-15 15:28:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载