首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码点火器循环显示多个条目

问代码点火器循环显示多个条目
EN

Stack Overflow用户
提问于 2017-07-12 05:26:41
回答 1查看 284关注 0票数 0

截至下午7/12/17下午3点,我已经编辑了修复代码的控制器、视图和模型(不再有多行代码,尽管还有另一个错误,但通过删除一些代码并调用table_model中的time_sign表中的id ),谢谢。

我在我的Codeigniter项目中有这个视图文件,在这个项目上我需要帮助。

代码语言:javascript
复制
<?php foreach ($users as $user): ?>
           <tr>
               <td class="hidden"><?=$user->id;?></td>
               <td><?=$user->name;?></td>
               <td><?=$sign->timein;?></td>
               <td><?=$sign->timeout;?></td>
               <td width="100px">
                   <a href="<?php echo base_url()."index.php/tabledisplay/recTime/".$user->id; ?>">
                       <button type="submit" class="btn btn-success" name="time-in">Sign In</button>
                   </a>
               </td>
               <td width="100px">
                   <a href="<?php echo base_url()."index.php/tabledisplay/recOut/".$user->id; ?>">
                       <button type="submit" class="btn btn-info" name="time-in">Sign Out</button>
                   </a>
               </td>
           </tr>
          <?php endforeach; ?>

这是我的控制器,用于显示该视图:

代码语言:javascript
复制
function index()
{
    $data = array();
    $id = $this->uri->segment(3);
    $data['users'] = $this->table_model->display_table();
    $this->load->view('table_view', $data);
}

现在它输出的是每个用户在一个表中有三个副本。例如:

ID -1

名字-约翰

ID -2

姓名- Stacy

在表中:

1.约翰。时间: 08:00。暂停:3点。签到。注销

1.约翰。时间: 08:00。暂停:3点。签到。注销

1.约翰。时间: 08:00。暂停:3点。签到。注销

2.史黛西。时间: 08:00。暂停:3点。签到。注销

2.史黛西。时间: 08:00。暂停:3点。签到。注销

2.史黛西。时间: 08:00。暂停:3点。签到。注销

(这个登录/退出实际上就是按钮),当我单击按钮时,它会更新所有的记录,而我只希望一个用户能够记录时间。

现在的输出是:

1。约翰。时间: 6:00。暂停: 8:00。签到。签出

2 .史黛西。时间: 08:00。暂停:3点。签到。签出

对于模型,在记录时间(按钮)时:

代码语言:javascript
复制
function recordTime($id)
{

     $this->db->select("time-id, timein, timeout");
     $this->db->set('timein', 'NOW()', FALSE);
     $this->db->update('time_sign');
      $query = $this->db->get('time_sign');
      return $query->result();
}

,我也没有包括显示的模型,所以这里是:

代码语言:javascript
复制
function display_table ()
{
      $this->db->select("time_sign.indexuser, CONCAT(lname, ', ', fname, ' ', mname) AS name, users.position, time_sign.timein, time_sign.timeout");
      $this->db->from('users');
      $this->db->join('time_sign', 'time_sign.indexuser = users.id', 'LEFT');
      $query = $this->db->get();
      return $query->result();
}
EN

回答 1

Stack Overflow用户

发布于 2017-07-12 05:43:20

先看看这个..。您的模型有点混乱,没有使用$id。

首先,您传入$id,但不要使用它。其次,您正在混淆对执行更新的db调用的意图,并选择.

我觉得你想做的是.

代码语言:javascript
复制
function recordTime($id)
{
    // Perform the Update
    $this->db->set('timein', 'NOW()', FALSE);
    $this->db->where('id',$id); //Specify the user we want to change
    $this->db->update('time_sign');

    // Now perform a read back
    $this->db->select("time-id, timein, timeout");
    $this->db->where('id',$id); // Specify the user we want to read back
    $query = $this->db->get('time_sign');
    return $query->result();
}

我将检查您当前的表,因为这里有3个条目,因为您的内环正在抓取所有3个条目,因此重复。

这里有更多关于你的观点的讨论,但这是我唯一的时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45049073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档