Soru & Cevap

Codeigneter json veri çekme işlemi ...

02.05.2020 - 03:26

Php codeigneter json veri dökümü sağlamaya çalışıyorum.

 

<?php
class My_model extends Model {
function My_model() {
parent::Model();
$this->load->database();
}
function get_people() {
static $query;
$this->db->select('id, name');
$query = $this->db->get('people');
#If you don't want to use acrtive record then you can write your own querys aswell
#example: $query = $this->db->query('SELECT id, name FROM people');
 
if($query->num_rows() > 0) return $query->result();
else return FALSE;
}
 
}
 
/* End of file my_model.php */
/* Location: ./system/application/models/my_model.php */
<?php
class Json extends Controller {
    function __construct() { #<-PHP5 - __construct(); PHP4 - class name()
        parent::Controller();
        $this->load->model('my_model');
    }
    function index(){
        header('Content-type: application/json');
        echo json_encode($this->my_model->get_people());
    }
}
 
/* End of file json.php */
/* Location: ./system/application/controllers/json.php */

Kod bloklarım bu şekilde fakat, view'e herhangi birşey eklemedim ben bu json çıktısını nasıl alabilirim ? 

"routes'e eklediğim kod blogu = $route['model'] = 'my_model';"
Yardımlarınız için şimdiden teşekkür ederim...

45 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user f.erenyucal
f.erenyucal
16.02.2023 - 06:05

Merhabalar Efekan! Controller içindeki "index" methodunda "header" fonksiyonuyla çıktının JSON formatında olduğunu belirtmeniz gerekiyor. Sonrasında "echo" fonksiyonuyla da "my_model" model'inin "get_people" methodundan dönen sonucu JSON formatında yazdırabilirsiniz

Controller dosyasının tamamı şu şekilde olabilir:

 

<?php
class Json extends CI_Controller {
    function __construct() {
        parent::__construct();
        $this->load->model('my_model');
    }

    function index(){
        header('Content-type: application/json');
        echo json_encode($this->my_model->get_people());
    }
}

Bu kod bloğunu kaydettikten sonra tarayıcınızda "/index.php/json" adresine gittiğinizde, "my_model" model'inin "get_people" methodundan dönen sonuçlar JSON formatında ekranda görüntülenmelidir

Ayrıca "routes.php" dosyanızda tanımladığınız $route['model'] = 'my_model'; satırının bir anlamı yok. Bu satırı kaldırabilirsiniz.