我需要按通用联赛名称将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
该方法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; } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。