php - 在搜索之前从数据库中获取值

标签 php mysql codeigniter

在下面的代码中,当我执行它时。它显示了数据库中的所有值,当我搜索它时它正在搜索。但是我的预期结果是当我执行它时不应该显示数据库中的数据并且只在我搜索它时显示应该显示结果。

Controller search1_site.php

<?php
class Search1_site extends ci_controller
{
    function index()
    {
        $data            = array();
        $keyword         = $this->input->post('keyword');
        $data['results'] = $this->search1_model->search($keyword);
        $this->load->view('result_view', $data);
    }
}
?>

模型search_model.php

<?php
class Search_model extends CI_Model
{
    function search($keyword)
    {
        $this->db->like('course_code', $keyword);
        $query = $this->db->get('coursemaster');
        return $query->result();
    }
}
?>

查看result_view.php

<form action="<?php echo site_url('search1_site/index');?>" method = "post">
<input type="text" name = "keyword" />
<input type="submit" id="opn" value = "Search"  />
</form>

<table>
<tr>
<th>course_code</th>
<th>course name</th>
</tr>
<?php
foreach ($results as $row) {
?>
<tr>
<td><?php echo $row->course_code;?></td>
<td><?php echo $row->course_name;?></td>
</tr>
<?php
}
?> 
</table>

最佳答案

在 Controller 中:

class Search1_site extends ci_controller
{
    function index()
    {
        $data            = array();
        $keyword         = $this->input->post('keyword');
        if($keyword!=""){
            $data['results'] = $this->search1_model->search($keyword);
        }
        $this->load->view('result_view', $data);
    }
}

在 View 中:

<?php
if($results){
foreach ($results as $row) {
?>
<tr>
    <td><?php echo $row->course_code;?></td>
    <td><?php echo $row->course_name;?></td>
</tr>
<?php
} 
}else{
   //Display somthing
}
?> 

关于php - 在搜索之前从数据库中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18399051/

相关文章:

MySQL 左连接多个表和 where 子句

mysql - Gridview 不使用 Mysql 数据库进行过滤

mysql - 我需要在 SQL 语句中添加引号吗?

javascript - codeigniter:使用 jquery 克隆方法对动态创建的文本字段进行验证

php - 如何防止替换字符在 PHP 中变成 html 实体?

php - 未定义索引 : query in, 将 mysql 转换为 mysqli

PHP PDO mySQL 查询返回列名和整数

php - 如何查看考勤表中是否存在员工id?

php - codeigniter 事件记录选择查询不起作用

php - 按数组中的指定列对行进行分组