在视图中显示值

时间:2016-04-05 15:54:27

标签: codeigniter

在这个codeigniter模型中,我有这个查询测试输入中输入的值是否存在于数据库中..

 function get_search_form() {
     $match = $this->input->post('search1');
     $this->db->where('numero',$match);
     $this->db->where('inscris','non');
     $q = $this->db->get('transaction');
     if($q->num_rows()>0)
      {
      foreach($q->result() as $row)
      {
        $data[] = $row;
      }
       return $data;
     }
}

看看控制器我想在view inscription.php

中显示输入值
  function search()
  {
    $data['row'] = $this->site_model->get_search_form();
    $this->load->view('acceuil/aside');
    $this->load->view('acceuil/inscription', $data);
  }

我的问题是如果在数据库中存在此值,如何在该视图中显示输入值和表单?   我试过这样但我需要帮助:

铭文观点:

<?=form_open('navigation/search');?>

<input type="text" name="search1" id="search1" required />
<input type='submit' value='Display' /> 
<?=form_close();?>

我尝试显示这样的表格,但我不知道如何显示输入的输入值

  <?php
     if( $row > 0 )
     {
  ?>
  les champs du formulaire ici....
  <?php 
     }else
      { }
   ?>

2 个答案:

答案 0 :(得分:0)

您可以访问$ data全局对象,例如此检查

<?php
     if( isset($row))
     {
         foreach($row as $v){
            //Do the operations here
         }     
     }else
      { 
          //Do the operations here
      }
?>

答案 1 :(得分:0)

在您的视图中,您可以检查变量$row是否为空(因为在没有找到行时它将为null):

if ($row !== null) {
  // do stuff
}

如果没有找到行,您可以修改模型函数以返回其他值,例如,通过将$ data设置为空数组:

function get_search_form() {
     $match = $this->input->post('search1');
     $this->db->where('numero',$match);
     $this->db->where('inscris','non');
     $q = $this->db->get('transaction');
     $data = array();  // <--- here
     if($q->num_rows()>0)
      {
      foreach($q->result() as $row)
      {
        $data[] = $row;
      }
       return $data;
     }
}

然后在视图中您可以简单地循环数据:

foreach($row as $r) {
  // do stuff
}

或者你可以内爆数组用作输入值:

<input type="text" 
       name="search1" 
       id="search1" required 
       value="<?php echo implode(' ', $row); ?>" />

你也可以在这里使用html实体,以防双引号出现在你的模型函数返回的内容中(我不知道它返回的内容)。