【问题标题】:How to display url with parameter in CodeIgniter?如何在 CodeIgniter 中显示带参数的 url?
【发布时间】:2015-11-20 08:12:56
【问题描述】:

我正在开发一个应用程序。我得到了网址和结果 http://localhost/mydss/result/search

当我使用关键字“radha”进行查询时,得到的结果很好。

但是,当我输入 URL http://localhost/mydss/result/search/radha 时,我没有得到任何结果。

参数应该如何传递给URL?

home.php

<form action="<?php echo site_url('result/search');?>" method = "post" name="search" id="search">

   <section class="s_form">
     <input type="search" placeholder="Search..." id="search" name="search" autocomplete="off" value="">
     <button type="submit" class="btn search_button gray"><span class="i_search_g">&nbsp;</span></button></form>

Result.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Result extends CI_Controller {    
function __construct()
{
   parent::__construct();

   $this->load->model('result_model','',TRUE);
 }

function search()
{
    $keyword    =   $this->input->get_post('search', TRUE);

    $data['keyword'] = $keyword;
    $data['results']    =   $this->result_model->search($keyword);

    $this->load->view('result',$data);
}}

【问题讨论】:

  • 你的问题完全没有意义..
  • @Svetlio 这个问题的解决方案是什么??
  • 问题是什么?你有 url > 你想要 url .. 你没有显示任何代码.. 如果你有第一个 url 工作,第二个应该也可以工作.. 但是你的问题是荒谬的,没有显示你的代码中的任何内容..
  • @Svetlio 我正在添加代码。请给我解决方案

标签: php codeigniter url resultset


【解决方案1】:

你会得到这样的答案;

<?php

if (!defined('BASEPATH'))
exit('No direct script access allowed');

class Result extends CI_Controller {


    public function index() {

    }

    public function search($query="radha"){

    }


}

但这对于搜索查询来说不是很好,因为 CodeIgniter 会限制您可以在查询字符串中搜索的内容。

这样搜索查询更好;

http://localhost/mydss/result/search?q=radha

<?php

if (!defined('BASEPATH'))
exit('No direct script access allowed');

class Result extends CI_Controller {


    public function index() {

    }

    public function search(){
       $query = $this->input->get("q");
    }


}

【讨论】:

  • 当问题没有提供原始代码+它的问题时,没有写代码的意义..
  • @Svetlio 我添加了代码来帮助这个家伙 - 你可能不明白他的问题,但我明白
【解决方案2】:

要获取这种类型的 url,您需要在 home.php 上添加 jquery 代码

# add here jquery file...
<script>
$(document).ready(function(){
    $("form").submit(function(){
        var action = $('#search').val() ? $('#search').val() : "";
        $("#search-form").attr("action", "<?php echo base_url();?>result/search/" + action);
    });
});
</script>

您的表单标签略有变化。将id search 更改为search-form

<form action="" method = "post" name="search" id="search-form"> 

当您点击提交按钮时,它会获取input field 的值并执行表单操作。

最后是控制器。你可以这样调用 -

public function search($keyword = null)
{

    $data['keyword'] = $keyword;
    $data['results']    =   $this->result_model->search($keyword);

    $this->load->view('result',$data);
}

【讨论】:

    猜你喜欢
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2015-07-09
    相关资源
    最近更新 更多