Php 如何按id显示?视频教程

Php 如何按id显示?视频教程,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有三张桌子: 事件 evid-pk evname 埃夫代特 用户 eventid-fk userid-pk 用户名 时间符号 userid-fk timeid-pk 蒂梅特 我想获取具有特定eventid的用户的记录 因此,在我之前的视图中,有一个按钮可以单击以查看该特定事件的注册用户列表 控制器文件:events.php(索引) 查看文件:viewEvents.php <?php foreach ($events as $event): ?> <

我有三张桌子:

事件

evid-pk

evname

埃夫代特

用户

eventid-fk

userid-pk

用户名

时间符号

userid-fk

timeid-pk

蒂梅特


我想获取具有特定eventid的用户的记录

因此,在我之前的视图中,有一个按钮可以单击以查看该特定事件的注册用户列表

控制器文件:events.php(索引)

查看文件:viewEvents.php

<?php foreach ($events as $event): ?>
              <div class="col-sm-6 col-md-4" style="width:200px; height:200px;">
                <div class="thumbnail">
                  <img src="<?php echo base_url(); ?>assets/images/eventi.png" alt="image-only">
                  <div class="caption">
                    <h3><?=$event->eventID;?></h3>
                    <h3><?=$event->eventName;?></h3>
                    <h4><?=$event->eventDate;?></h4>
                    <a href="<?php echo base_url()."index.php/events/showRegList/".$event->eventID; ?>" class="btn btn-primary" role="button">View Users</a>
                  </div>
                </div>
              </div>
      <?php endforeach; ?>
这是列表的视图:

<?php foreach ($events as $event): ?>
           <tr>
               <td class="hidden"><?=$event->id;?></td>
               <td><?=$event->name;?></td>
               <td><?=$event->position;?></td>
               <td><?=$event->timein;?></td>
               <td><?=$event->timeout;?></td>
               <td width="100px">
                   <a href="<?php echo base_url()."index.php/tabledisplay/recTime/".$event->id; ?>">
                       <button type="submit" class="btn btn-success" name="time-in" style="margin:3px">Sign In</button>
                   </a>
                   <a href="<?php echo base_url()."index.php/tabledisplay/recOut/".$event->id; ?>">
                       <button type="submit" class="btn btn-danger" name="time-in" style="margin:3px">Sign Out</button>
                   </a>
               </td>
               <td>
                   <a href="<?php echo base_url()."index.php/events/show_recid/".$event->id; ?>">
                    <button type="button" class="btn btn-info" aria-label="Left Align">
                    <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
                       </button></a>
                   <a href="<?php echo base_url()."index.php/events/delete/".$event->id; ?>">
                   <button type="button" class="btn btn-danger" aria-label="Left Align">
                    <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
                       </button></a>
               </td>
           </tr>
          <?php endforeach; ?>

谢谢。

如果我正确理解您的要求,我认为您只需要在模型中的SQL中添加where子句,并从控制器脚本向其传递事件ID

首先启动Events.php控制器脚本

function showRegList()
 {
    $data = array();
    $id = $this->uri->segment(3);
    //$evID = $this->model_events->getusersbyid();
    $data['events'] = $this->model_events->display_table($id);
    $this->load->view('table_view', $data);
 }
第二,model_events.php。您将返回所有内容,因为您的声明中没有where子句

function display_table($event_id)
{
  $this->db->select("events.eventID, users.id, users.event_id, CONCAT(lname, ', ', fname, ' ', mname) AS name, users.position,  time_sign.indexuser, time_sign.timein, time_sign.timeout");
  $this->db->from('events');
  $this->db->join('users', 'users.event_id = events.eventID', 'LEFT');
  $this->db->join('time_sign', 'time_sign.indexuser = users.id', 'LEFT');
  $this->db->where('events.evid',$event_id);
  $query = $this->db->get();
  return $query->result();
}

希望这能让您走上正轨。

如果我正确理解您的要求,我认为您只需要在模型中的SQL中添加where子句,并从控制器脚本向其传递事件ID

首先启动Events.php控制器脚本

function showRegList()
 {
    $data = array();
    $id = $this->uri->segment(3);
    //$evID = $this->model_events->getusersbyid();
    $data['events'] = $this->model_events->display_table($id);
    $this->load->view('table_view', $data);
 }
第二,model_events.php。您将返回所有内容,因为您的声明中没有where子句

function display_table($event_id)
{
  $this->db->select("events.eventID, users.id, users.event_id, CONCAT(lname, ', ', fname, ' ', mname) AS name, users.position,  time_sign.indexuser, time_sign.timein, time_sign.timeout");
  $this->db->from('events');
  $this->db->join('users', 'users.event_id = events.eventID', 'LEFT');
  $this->db->join('time_sign', 'time_sign.indexuser = users.id', 'LEFT');
  $this->db->where('events.evid',$event_id);
  $query = $this->db->get();
  return $query->result();
}

希望这能让你走上正轨。

试试这段代码事件控制器

function showRegList()
{
    $data = array();
    $id = $this->uri->segment(3);
    $data['events'] = $this->model_events->display_table($id);
    $this->load->view('table_view', $data);
}
模型文件:模型事件.php(显示表)


尝试此代码事件控制器

function showRegList()
{
    $data = array();
    $id = $this->uri->segment(3);
    $data['events'] = $this->model_events->display_table($id);
    $this->load->view('table_view', $data);
}
模型文件:模型事件.php(显示表)


哦,我非常感谢你,我完全忘记了WHERE子句,我真是太蠢了,哈哈,谢谢你指出在函数参数中传递ID本身。这成功了!哦,我非常感谢你,我完全忘记了WHERE子句,我真是太蠢了,哈哈,谢谢你指出在函数参数中传递ID本身。这成功了$这->数据库->其中(“events.eventID=$id”);此行产生此错误:“where子句”中的未知列“$event_id”。。。。因为它将其读取为列而不是传递的参数。无论如何,谢谢。消息:语法错误,意外的“=>”(T_双箭头)好的,这是您修改代码的结果。操作员不正确。此处标记为正确的答案可能会有所帮助。$this->db->where(“events.eventID=$id”);此行产生此错误:“where子句”中的未知列“$event_id”。。。。因为它将其读取为列而不是传递的参数。无论如何,谢谢。消息:语法错误,意外的“=>”(T_双箭头)好的,这是您修改代码的结果。操作员不正确。此处标记为正确的答案可能会有所帮助。
function showRegList()
{
    $data = array();
    $id = $this->uri->segment(3);
    $data['events'] = $this->model_events->display_table($id);
    $this->load->view('table_view', $data);
}
    function display_table($id)
    {
          $this->db->select("events.eventID, users.id, users.event_id, CONCAT(lname, ', ', fname, ' ', mname) AS name, users.position,  time_sign.indexuser, time_sign.timein, time_sign.timeout");
          $this->db->from('events');
          $this->db->join('users', 'users.event_id = events.eventID', 'LEFT');
          $this->db->join('time_sign', 'time_sign.indexuser = users.id', 'LEFT');
          $condition=array("events.eventID"=>$id)
          $this->db->where($condition);
          $query = $this->db->get();
          return $query->result();
    }