Передача значения из контроллера в CodeIginter модели с помощью хранимой процедуры - PullRequest
0 голосов
/ 24 января 2019

У меня проблема с Codeigniter.Я пытаюсь передать значение из представления в контроллер, и это работает.Но есть проблема при переходе от контроллера к модели.Он не вернул никакого значения в View.

Вот мой контроллер:

 public function Edit2G() {
                $id = $this->uri->segment(3);
                $this->load->model("main_model");
                $data['fetch_data_2G_where'] = $this->main_model->fetch_data_2G_id($id);
                $data['id'] = $id;
                $data['title'] = "Update Data 2G";

                $this->load->view('templates/header');
                $this->load->view("pages/Update2G", $data);
                $this->load->view('templates/footer');
            }

Вот модель

 function fetch_data_2G_id($id)
     {
         $get_2G_data_stored_proc = "CALL Get_2G_Data(?)";
         $data = array( 'id' =>$id);
         $query = $this->db->query($get_2G_data_stored_proc, $data);
         $result = $query->result_array();
         return $get_2G_data_stored_proc;
     }

А это мой View

<h2 align="center"><?=$title ?></h2>
<h3 align="center"><?=$id ?></h3>
<p align="center"><?php echo $fetch_data_2G_where['id'];?></p> //This is a test
<?php echo form_open('posts/update'); ?>
<input type="hidden" name="id" value="<?php //echo $fetch_data_2G_where['id']; ?>">
<div class="form-group">
    <label>Site ID</label>
    <input type="text" class="form-control" name="title" placeholder="add title" value="<?php //echo $fetch_data_2G_where['site_name'];?>">
</div>

Это результат хранимой процедуры

id, id_site, site_name, bsc_name, bcf_id, vlan1, vlan2, status,status_vlan  

'1', 'COK008', 'Combat Batylon754','FBTIMIKA-1','BCF-0112', '3677', '3137', '', 'Metro E'

Это ошибка, которую я получил

Обнаружена ошибка PHP. Уровень серьезности: Предупреждение

Сообщение: недопустимое смещение строки 'id'

Имя файла: pages / Update2G.php

Номер строки: 3

Backtrace:

Файл: C: \xampp \ htdocs \ DapotTimika \ application \ views \ pages \ Update2G.php Строка: 3 Функция: _error_handler

Файл: C: \ xampp \ htdocs \ DapotTimika \ application \ controllers \ Pages.php Строка: 46 Функция:view

Файл: C: \ xampp \ htdocs \ DapotTimika \ index.php Строка: 315 Функция: require_once

Чего мне не хватает?

PS:хранимая процедура имеет только один параметр (id) для возврата / получения данных

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Спасибо, ребята, за ответ, я нашел ответ.

Я забыл разобрать возвращаемое значение из модели в массив.Код в модели и контроллере в порядке.

вот мой код просмотра

<?php
        if($fetch_data_2G_where->num_rows() > 0)
        {
            foreach($fetch_data_2G_where->result_array() as $data)
            {
        ?>

            <input type="hidden" name="id" value="<?php echo $data['id']; ?>">
            <div class="form-group">
            <label>Site ID</label>
            <input type="text" class="form-control" name="site_id" value="<?php echo $data['id_site'];?>">
<?php } ?>

вот результат

Output

0 голосов
/ 24 января 2019

в вашем контроллере print_r строка ниже

$data['fetch_data_2G_where'] = $this->main_model->fetch_data_2G_id($id);
echo "<pre>"; print_r($data['fetch_data_2G_where']);

просто чтобы посмотреть, каков результат вашего запроса. затем из вашего результата вы можете проанализировать и получить желаемые результаты в поле зрения.

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