【问题标题】:How to set flag for user punch in & punch out in codeigniter?如何在codeigniter中为用户打卡和打卡设置标志?
【发布时间】:2015-10-30 09:09:29
【问题描述】:

第一个条件有效,如果为 1 则标志设置为 0 但它不能在单击打孔按钮时返回 1。这是模型函数。称为login_info_model,它存储打卡和打卡的日期和时间。

function login_info_model($id)
{
    $reg = "%Y:%m:%d:%h:%i";

    $data = array(
        'logindt' => mdate($reg) ,
        'userid' => $id
    );

    $qry = $this->db->insert('registry', $data);

    if ($qry) {
        $on = array(
            'flag' => 1
        );
        $off = array(
            'flag' => 0
        );

        $flg = $this->db->get('users', 'flag');

        if ($flg == 1) {
            $this->db->where('id', $id);
            $this->db->where('flag', 1);
            $this->db->update('users', $off);
        } else {
            $this->db->where('id', $id);
            $this->db->where('flag', 0);
            $this->db->update('users', $on);
        }

        return $qry;
    }
}

【问题讨论】:

  • 或者这项工作是否有效 $ert="IF(users.flag = 1 THEN SET flag = 0) ELSEIF (users.flag = 0 THEN SET flag = '1' END IF)"; $this->db->update('users',$ert);
  • 我不确定我是否理解您的问题。此外,您格式化代码的方式不利于可读性。
  • 它现在更具可读性,这是代码点火器模型类中的一个函数,它应该存储日期和时间,在用户点击时将名为 flag 的 tinyint- 字段设置为表 users..to 1/0视图中的打入/打出按钮。
  • k0pernikus 什么?
  • 您确定在您尝试重新启用时调用了更新方法吗?

标签: php mysql codeigniter codeigniter-3


【解决方案1】:

这解决了问题。

$this->db->select('flag');

$this->db->from('users');

$this->db->where('id',$id);

$flaggg=$this->db->get();

$flagg=$flaggg->row_array();

$flg=implode("",$flagg);

【讨论】:

    猜你喜欢
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    相关资源
    最近更新 更多