Выберите идентификатор панели поиска из скрытого источника, выберите имя из базы данных и отправьте идентификатор в URL при отправке в code-igniter - PullRequest
0 голосов
/ 09 апреля 2019

Как выбрать идентификатор панели поиска из скрытого источника и получить имя из базы данных и отправить идентификатор в URL при отправке в codeigniter:

Это мой контроллер

        <?php
        class Autocomplete extends CI_Controller{
            function __construct() {
                parent::__construct();
                $this->load->model('datacomplete');
            }
            public function index(){
                 $data['posts'] = $this->datacomplete->information();
                 $this->load->view('view_demo',$data);
          }

            public function GetCountryName(){
                $keyword=$this->input->post('keyword');
                $data=$this->datacomplete->GetRow($keyword);        
                echo json_encode($data);
            }
            public function search()
            { 


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

        }
            }
        ?>

    This is model 
    <?php
    class Datacomplete extends CI_Model{

        public function GetRow($keyword) {        
            $this->db->order_by('id', 'DESC');
            $this->db->like("name", $keyword);

            return $this->db->get('autocomplete')->result_array();
         }
        public function information()
        {
        $this->db->select("id");
        $this->db->from('autocomplete');
        $query = $this->db->get();
        return $query->result();
       }
       }
    ?>
This is view code 
<!DOCTYPE html>
<html>
    <head>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
        <!-- Latest compiled and minified JavaScript -->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <!-- Latest compiled and minified JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
        <script src="<?php echo base_url(); ?>assets/custom.js"></script>
    </head>
    <body style="background-color: white;">

       <?php foreach($posts as $post)
       {
            echo $post->id;
       } 
       ?>
        <form  action="<?php echo base_url('autocomplete/search?id=$post['id']'); ?>" method="post">
        <div class="row">
        <center><h2 style="color: #fff;">AUTOCOMPLETE FORM FROM DATABASE USING CODEIGNITER AND AJAX</h2></center>
            <div class="col-md-4 col-md-offset-4" style="margin-top: 200px;">

                    <label class="control-lable" style="color: #fff;">Country Name</label>
                    <input style="height:70px" type="text" id="country" autocomplete="off" name="country" class="form-control" placeholder="Type to get an Ajax call of Countries">        
                    <ul class="dropdown-menu txtcountry" style="margin-left:15px;margin-right:0px;" role="menu" aria-labelledby="dropdownMenu"  id="DropdownCountry"></ul><button location.href='<?php echo site_url().'/autocomplete/search?id='.$post['id'];?>' type="submit">Submit</button>



</div>
        </div>
    </form>
    </body>
</html>
This is custom.js 
$(document).ready(function () {
    $("#country").keyup(function () {
        $.ajax({
            type: "POST",
            url: "http://localhost/codeajax/autocomplete/GetCountryName",
            data: {
                keyword: $("#country").val()
            },
            dataType: "json",
            success: function (data) {
                if (data.length > 0) {
                    $('#DropdownCountry').empty();
                    $('#country').attr("data-toggle", "dropdown");
                    $('#DropdownCountry').dropdown('toggle');
                }
                else if (data.length == 0) {
                    $('#country').attr("data-toggle", "");
                }
                $.each(data, function (key,value) {
                    if (data.length >= 0)
                        $('#DropdownCountry').append(
                            '<li role="displayCountries" ><a role="menuitem dropdownCountryli" class="dropdownlivalue">' + value['name'] + '</a></li>');
                });
            }
        });
    });
    $('ul.txtcountry').on('click', 'li a', function () {
        $('#country').val($(this).text());
    });
});

У меня есть панель поиска иЯ получаю название страны в строке поиска, и у меня есть два столбца ID и название страны.Когда я ищу Индию, она предлагает название, и когда я выбираю название страны, она также должна выбирать идентификатор страны, которая должна быть скрыта от пользователя, а когда я нажимаю кнопку отправки, она должна отправлять идентификатор страны.страна в URL-адресе новой пустой страницы search.php и URL должны отображать идентификатор страны следующим образом http://localhost/codeajax/autocomplete/search?id=354 Я получаю идентификатор в функции индекса, но получаю все идентификаторы страны, и теперь яхочу выбрать любую страну, которая будет выбрана с идентификатором, и отправить идентификатор в URL на новую страницу search.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...