Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter循环显示多个条目_Php_Mysql_Codeigniter - Fatal编程技术网

Php codeigniter循环显示多个条目

Php codeigniter循环显示多个条目,php,mysql,codeigniter,Php,Mysql,Codeigniter,截至2017年12月7日下午3点,我已编辑了修复代码的控制器、视图和模型(不再有多行,尽管还有另一个错误,但我已通过删除一些代码并及时调用id来修复了它\u在表\u模型中签名表)谢谢。 我的Codeigniter项目中有这个视图文件,我需要这方面的帮助 <?php foreach ($users as $user): ?> <tr> <td class="hidden"><?=$user->id;

截至2017年12月7日下午3点,我已编辑了修复代码的控制器、视图和模型(不再有多行,尽管还有另一个错误,但我已通过删除一些代码并及时调用id来修复了它\u在表\u模型中签名表)谢谢。

我的Codeigniter项目中有这个视图文件,我需要这方面的帮助

<?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; ?>
现在它输出的是一个表中每个用户有三个副本。 比如说:

ID-1

名字-约翰

ID-2

姓名-Stacy

在表中:

一,。厕所。时间:08:00。暂停时间:3点。登录。注销

一,。厕所。时间:08:00。暂停时间:3点。登录。注销

一,。厕所。时间:08:00。暂停时间:3点。登录。注销

二,。斯泰西。时间:08:00。暂停时间:3点。登录。注销

二,。斯泰西。时间:08:00。暂停时间:3点。登录。注销

二,。斯泰西。时间:08:00。暂停时间:3点。登录。注销

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

现在输出为:

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();
}
1。厕所。时间:6点。暂停时间:8:00。登录。注销

2。斯泰西。时间:08:00。暂停时间:3点。登录。注销

对于记录时间的型号(按钮):

另外,我没有包括用于显示的模型,所以它在这里:

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();
}

初步看一下这个。。。您的模型有点混乱,您没有使用$id

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

我想你想做的是

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个条目,因此重复


关于您的观点,这里还有更多的讨论,但这就是我的全部时间。

这两个表之间是否存在映射。谢谢您的回答,我现在要编辑。我会回来的。我意识到我正在从用户表传递ID,我正在从另一个表时间符号读取。我现在正试着得到这个零件@TimBrownlawWell我假设您的$id与您的用户id相关。这就是您将用户和时间符号表绑定在一起的方式。对吗?但是想想这个。。。如何在第一个实例中创建时间符号条目。用户的时间\符号条目必须存在,才能进行更新。你能更详细地解释一下你的设置吗?我不知道,但是现在桌子是空的。。。有没有办法在一个控制器方法中直接显示两个表中的数据@TimBrownlawYes,我使用了sql查询:users.id=time\u sign.indexuser,以便记录将查找该特定id的进出时间。我将users表中的id和time\u sign表中的indexuser设置为外键。但是现在(视图中的)表是空的@廷布罗恩劳
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();
}