为了账号安全,请及时绑定邮箱和手机立即绑定

来自 mysql 查询的唯一数组

来自 mysql 查询的唯一数组

PHP
当年话下 2021-09-05 20:14:27
不幸的是,当我的思绪被冻结时,我有过这样的时刻之一。因此,我真的需要一些关于我做错了什么的提示:我根据 category_id 获取多行:$certificates= $DB->get_records('prog', array('category'=>$_POST['something']),'', $fields='*');使用这个我得到所有拥有这个证书的用户(在 foreach 中):$usrwcert = $DB->get_records('certif_completion', array('certifid' => $cert->certifid), '', $fields = '*');然后我只是在这个 usrwcert 上做另一个 foreach 并尝试用它的结果制作一个用户列表。问题是每个用户都有两个证书,因此我在列表中获得了两次用户,这不是我想要的。如何仅返回最后一个 foreach 中的唯一字段?这是我的完整代码:$certificates= $DB->get_records('prog', array('category'=>$_POST['something']),'', $fields='*');foreach($certificates as $cert) {            $usrwcert = $DB->get_records('certif_completion', array('certifid' => $cert->certifid), '', $fields = '*');                foreach($usrwcert as $user){                $userdet = $DB->get_record('user', array('id' => $user->userid), $fields = '*');                 $mform->addElement('html', '<option value="'.$userdet->id.'">'.$userdet->firstname.' '.$userdet->lastname.' ('.$userdet->username.', '.$userdet->email.')</option>');            }        }
查看完整描述

2 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您可以使用只break执行最后foreach一次,这样可以避免同一用户的下一条记录


foreach($usrwcert as $user){

    $userdet = $DB->get_record('user', array('id' => $user->userid), $fields = '*');

    $mform->addElement('html', '<option value="'.$userdet->id.'">'.$userdet->firstname.' '.$userdet->lastname.' ('.$userdet->username.', '.$userdet->email.')</option>');

    break;

}


查看完整回答
反对 回复 2021-09-05
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

this works



$unica=array();

    foreach($usrwcert as $user){

                if(!in_array($user->userid,$unica)){

                $userdet = $DB->get_record('user', array('id' => $user->userid), $fields = '*');

                $mform->addElement('html', '<option value="' . $userdet->id . '">' . $userdet->firstname . ' ' . $userdet->lastname . ' (' . $userdet->username . ', ' . $userdet->email . ')</option>');

                }

                $unica[]=$user->userid;

            }


查看完整回答
反对 回复 2021-09-05
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信