php - 如何将 id 传递到 foreach 循环中以获取所有相关记录?

标签 php mysql arrays codeigniter

我想在我的模型方法中传递where条件,所以我想将数组中获得的所有emp_id传递给foreach循环,并希望在我的模型方法中传递它,这样我就可以将它作为where条件传递。

场景是:我有一个表 users,其中包含所有标识了我的唯一 id 的用户,名为 emp_id,现在我有一个名为 daily_data2 的表,其中也包含带有 emp_id 的用户的登录和注销。所以我将用户的emp_id映射到daily_data2的emp_id

这是我的 Controller 方法:

 public function index()
 {
     $user_type = $this->session->userdata('user_type');
     if($user_type=="admin")
     {
      $users = $this->data['users'] = $this->user_m->get();
      foreach ($users as $user) 
      {
        $user->emp_id;
        $this->data['attendances'] = $this->attendance_m->all_login($user->$emp_id);
        $this->data['attendances_logouts'] = $this->attendance_m->all_logout($user->$emp_id);        
      }
        $this->data['subview'] = 'admin/dashboard/index';
        $this->load->view('admin/_layout_main',$this->data);

     }

在我的模型方法中,我有两种方法,一种获取登录数组,另一种获取注销数组,我将其传递给查看,并在那里计算用户的总工作时间。

所以现在我想在我的模型方法中传递 emp_id 来动态获取每个用户的登录和注销。

这是模型:

 public function all_login($emp_id)
{

      $this->db->where->('emp_id',$emp_id);
}

最佳答案

修改您的功能(保留备份):

<?php
public function index()
{
    $user_type = $this->session->userdata('user_type');
    if($user_type=="admin")
    {
        $users = $this->user_m->get();
        $all_empids = implode(',', $users['emp_id']);
        $data['all_empids'] = $all_empids;
        $this->data['subview'] = 'admin/dashboard/index';
        $this->load->view('admin/_layout_main',$this->data);
    }
}

public function get_login_or_logout($eid)
{
    $q = $this->db->query("SELECT entry FROM daily_data2 WHERE emp_id = $eid");
    if($q->num_rows() > 0) {
        $d = $q->row_array();
        $temp = $d['entry'];
        if($temp > 100) {
            return 'login';
        } else {
            return 'logout';
        }
    } else {
        return 'No data found';
    }
}

?>

查看中:

<?php
$explode_empids = explode(',', $all_empids);
foreach ($explode_empids as $eid) {
    $check_login_or_logout = $this->user_m->get_login_or_logout($eid);
    echo $check_login_or_logout;
}
?>

关于php - 如何将 id 传递到 foreach 循环中以获取所有相关记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693267/

相关文章:

php - 如何通过 php 设置全局 javascript 变量,使值不公开?

mysql - 对特定列进行排序/分组,通过 SQL 查询重复其所有值

php - 快速从两个表中选择数据

javascript - 拖放 event.dataTransfer.files 为空

javascript - 在 Javascript 中传递 (laravel) 数组

javascript - 使用正则表达式改进递归搜索

php - 我该如何解决这个由 if 语句引起的奇怪的 PHP/MySQL 问题?

php - 如何使用邻接表方法从分层存储的 SQL 数据创建多维数组?

php - 过滤器与 $_POST(或 $_GET)

c++ - 什么时候使用动态数组而不是静态数组合适?