Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 使用get通过字符串进行CodeIgniter搜索_Php_Codeigniter_Search - Fatal编程技术网

Php 使用get通过字符串进行CodeIgniter搜索

Php 使用get通过字符串进行CodeIgniter搜索,php,codeigniter,search,Php,Codeigniter,Search,我一直在为我的代码点火器搜索表单编写视图,该表单需要使用get 我现在有这个 控制器 <?php class Search extends CI_Controller { function __construct(){ parent::__construct(); } public function index(){ $this->load->view('Search'); } public funct

我一直在为我的代码点火器搜索表单编写视图,该表单需要使用get

我现在有这个

控制器

<?php
class Search extends CI_Controller {
    function __construct(){

        parent::__construct();

    }
    public function index(){
        $this->load->view('Search');
    }
    public function doSearch()
{
    $this->load->model("Messages_model");

    if ($this->input->get('search') !== FALSE) {
        $data ['results'] = $this->Messages_model->searchMessages($this->input->get('search'));
    } else {
        $data['results'] = array();
    }

    $this->load->view("Search", $data);
}
看法



首先,转到application/config/config.php并找到
$config['allow\u get\u array']
,确保它设置为
TRUE

然后在控制器中,您会有如下内容:

public function search()
{
    $this->load->model("Messages_model");

    if ($this->input->get('search') !== FALSE) {
        $data ['results'] = $this->Messages_model->searchMessages($this->input->get('search'));

    } else {
        $data['results'] = array();
    }

    $this->load->view("Search", $data);
}
请注意,这里没有对字符串进行任何验证,因此您需要添加自己的验证

希望这有帮助

编辑

查看文件:

<!DOCTYPE html>
<html>
    <style>
    </style>

    <head>
        <title></title>
    </head>
    <body>
        <form action="<?php echo site_url('search/doSearch'); ?>" method = "get">
            <input type="text" name="keyword" value="<?php echo isset($search_value) ? $search_value : ''?>"/>
            <input type="submit" value="Search" />
        </form>

        <?php
        if ($search_passed && !empty($results)) {
            foreach ($results as $result) {
                //Code for displaying results
            }
        } elseif ($search_passed && empty($results)) {
            echo 'No results found!';
        }
        ?>

    </div>
</body>
</html>

控制器方法:

公共功能数据搜索() { $this->load->model(“Messages_model”)

if($this->input->get('keyword')!==FALSE){
$data['results']=$this->Messages\u model->searchMessages($this->input->get('keyword');
//取消注释下面的行以进行测试
//回显“;打印($data['results']);模具(“”);
$data['search_passed']=TRUE;
$data['search_value']=$this->input->get('keyword');
}否则{
$data['search_passed']=FALSE;
$data['results']=array();
}
$this->load->view(“搜索”,$data);
}

提示:阅读有关URI段的信息您是真的在url中有一个查询标记(即
?search=bob
),还是希望搜索词位于正斜杠之后,例如
example.com/seach/bob
?嗯,我真正需要的是能够在搜索表单中键入一个单词并通过getOk提交,最后,您使用的是codeigniter 2.*还是codeigniter 3.*非常感谢,但是您将如何编写此视图呢?这是我的主要奋斗目标。。我真的不知道如何使用这个功能你知道如何制作表单吗。。我现在有这个<代码>
将把表单数据发送到站点的索引页。将
site\u url(“”)
更改为
site\u url('search/view')
,因为您希望表单提交给处理搜索的控制器/方法。再次感谢,但我仍然无法使其显示搜索结果。。我试着给每个人写信,但还是没有成功
public function search()
{
    $this->load->model("Messages_model");

    if ($this->input->get('search') !== FALSE) {
        $data ['results'] = $this->Messages_model->searchMessages($this->input->get('search'));

    } else {
        $data['results'] = array();
    }

    $this->load->view("Search", $data);
}
<!DOCTYPE html>
<html>
    <style>
    </style>

    <head>
        <title></title>
    </head>
    <body>
        <form action="<?php echo site_url('search/doSearch'); ?>" method = "get">
            <input type="text" name="keyword" value="<?php echo isset($search_value) ? $search_value : ''?>"/>
            <input type="submit" value="Search" />
        </form>

        <?php
        if ($search_passed && !empty($results)) {
            foreach ($results as $result) {
                //Code for displaying results
            }
        } elseif ($search_passed && empty($results)) {
            echo 'No results found!';
        }
        ?>

    </div>
</body>
</html>
    if ($this->input->get('keyword') !== FALSE) {
        $data ['results'] = $this->Messages_model->searchMessages($this->input->get('keyword'));
        //Uncomment the line below to test
        // echo '<pre>'; print_r($data['results']);die('</pre>');
        $data['search_passed'] = TRUE;
        $data['search_value'] = $this->input->get('keyword');
    } else {
        $data['search_passed'] = FALSE;
        $data['results'] = array();
    }

    $this->load->view("Search", $data);
}