2013-03-12 48 views
0

嘿家伙我是新的codeigniter和我正在一个应用程序,其中我有数据库和数据库中的许多记录..我做一个搜索表单,其中我创建一个文本字段,用户可以在其中填写任何字段值和搜索记录。但这里有一个小问题。当我在文本框中填写名称并单击搜索按钮时,视图上没有记录显示。 。请帮助我 。 。感谢..无法从数据库中获取行数据在搜索表单中搜索后使用codeigniter

我的控制器:

function search() 
{ 
    $this->load->library('form_validation'); 
    $this->form_validation->set_rules('inputsearch', 'Search Your Text Here','required'); 
    if ($this->form_validation->run() == TRUE) 
    { 
     $this->load->helper('form'); 
     $this->load->helper('html'); 
     $search_this=$this->input->post('inputsearch'); 
     $this->load->model('mod_user'); 
     $searchmember=$this->mod_user->search_member($search_this); 
     $data['searchmember'] = $searchmember; 
     var_dump($searchmember); 
     $this->load->view('view_home',$data); 
     $this->load->view('view_homemember',$data); 
    } 
    else 
    { 
     redirect('ctl_home'); 
    } 
} 

的观点是:

<form class="userinfo" action="" method="post"> 
     <table border="1" cellpadding="2" cellspacing="0"> 
      <tr> 
       <td width="5%;">&nbsp;</td> 
       <td width="5%;">&nbsp;</td> 
       <td width="15%;">Name</td> 
       <td width="15%;">Moderator Name</td> 
       <td width="20%;">KCC Branch</td> 
       <td width="15%;">Father/Husband Name</td> 
       <td width="15%;">Address</td> 
       <td width="10%;">Date</td> 
      </tr> 
      <?php foreach ($rows as $row):?> 
      <tr> 
       <td><?php echo anchor("Ctl_Home/edit_member/" . $row->member_id, 'Edit'); ?></td> 
       <td><a href="<?php echo site_url("ctl_dbcont/deleteinput/" . $row->member_id);?>" onclick="return confirm('Delete content?');">Delete</a></td> 
       <td><?php echo $row->member_name; ?></td> 
       <td><?php echo $row->moderator_name; ?></td> 
       <td><?php echo $row->branch_name; ?></td> 
       <td><?php echo $row->father_name; ?></td> 
       <td><?php echo $row->address; ?></td> 
       <td><?php echo $row->date; ?></td> 
      </tr> 
      <?php endforeach; ?> 
     </table> 
    </form> 

我的模式是:

function search_member($search_this) 
{ 
    $query=$this->db->query("SELECT tbl_members.* , tbl_moderators.member_id AS moderator_id, tbl_moderators.member_name AS moderator_name, tbl_moderators.member_no AS moderator_no, tbl_branches.branch_name FROM tbl_members, tbl_members AS tbl_moderators, tbl_branches WHERE tbl_members.moderator_id = tbl_moderators.member_id AND tbl_branches.branch_id = tbl_members.kcc_branch 
            AND CONCAT(tbl_members.member_name, ' ', tbl_moderators.member_name, ' ',tbl_members.moderator_id, ' ', tbl_moderators.member_id, ' ',tbl_branches.branch_name, ' ',tbl_members.father_name, ' ',tbl_members.address, ' ',tbl_moderators.address, ' ',tbl_members.date, ' ',tbl_moderators.date) like '%".$search_this."%'"); 
    if ($query->num_rows >= 0) 
     { 
      foreach($query->result_array() as $row) 
      { 
       $data[]=$row; 
      } 
      return $data; 
     } 
} 
+0

你的模型在哪里? – 2013-03-12 09:39:20

+0

见编辑。 。我的模型@raheel shan – Jay 2013-03-12 10:19:46

+1

嘿在你的模型这是错误的$ query-> num_rows> = 0行的数量必须是1或更多,所以你想这个:$ query-> num_rows> = 1 – cartalot 2013-03-12 18:18:38

回答

1

你的循环应该是这样的

<?php foreach ($searchmember as $row):?> 
    <tr> 
     <td><?php echo anchor("Ctl_Home/edit_member/" . $row->member_id, 'Edit'); ?></td> 
     <td><a href="<?php echo site_url("ctl_dbcont/deleteinput/" . $row->member_id);?>" onclick="return confirm('Delete content?');">Delete</a></td> 
     <td><?php echo $row->member_name; ?></td> 
     <td><?php echo $row->moderator_name; ?></td> 
     <td><?php echo $row->branch_name; ?></td> 
     <td><?php echo $row->father_name; ?></td> 
     <td><?php echo $row->address; ?></td> 
     <td><?php echo $row->date; ?></td> 
    </tr> 
<?php endforeach; ?> 

这是$搜索会员为$行,而不是$行作为$行中的foreach

+0

: - tnis是在搜索前查看。 。要我为搜索结果的另一种看法。当然 – Jay 2013-03-12 09:50:41

+0

是你应该做另一种观点 – 2013-03-12 09:53:10

+0

: - 我创造了搜索esult另一种观点认为,把代码,但没有发生'一个PHP错误遇到 严重性:注意 消息:试图获得非对象的属性 文件名:views/view_searchmoderator.php 行号:'此错误发生在所有字段 – Jay 2013-03-12 10:23:38

0

如果$数据[“搜索会员”]包含控制器值, 您可以在视图访问varibale为$搜索会员