Anasayfa » Codeigniter, Php

Codeigniter Dersleri – 6 – Veritabanından Özel Veri Çekme

18 Haziran 2011 16.602 kez okundu 8 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (6 oy,5 üzerinden : 4,33 )
Loading...

Bir önceki dersimizde veritabanındaki bütün pizza siparişlerini çekmiştik. Bu dersimizde ise sadece bizim belirleyeceğimiz veriler ekrana gelecek.

Hemen kodları vermeye başlayayım, application/models altındaki pizza_model.php dosyasını alttaki gibi düzenleyelim.

Şimdi de application/controllers altındaki pizza.php dosyasını da alttaki gibi düzenleyelim.

ardından adres çubuğuna http://localhost/CodeIgniter/index.php/pizza/a_pizza yazalım ve id si 1 olan elemanı yani Gürcanın siparişlerini görelim. Görünüm şu şekilde olacak.

Siparisler

İsim Pizza İnce Kenar Adet Adres Tip Fiyat
Gurcan Kavakci cilgin pizza Evet 2 ev adresi Küçük 4

a_pizza fonksiyonumuz model dosyasındaki get_specific_order(); fonksiyonunu çağırıyor ve orada id belirlenip fonksiyon çalıştırılıyor.

Peki istediğimiz id yi fonksiyona biz yollasak? pizza_model.php dosyamızı aşağıdaki şekilde tekrar düzenleyelim. id yi değişkene bağlayalım.

şimdi pizza.php controller dosyamızdaki

satırı aşağıdaki gibi değiştirelim

yani fonksiyonumuza hangi değeri gönderirsek, ekrana o bilgiler basılacak. Örneğin yukarıdaki satır için ekrana

Siparisler

İsim Pizza İnce Kenar Adet Adres Tip Fiyat
Mehmet tavuklu Hayır 3 is adresi Büyük 12

basılacaktır.

Veritabanından GET Methodu ile Veri Çekme

Peki fonksiyona yollamak yerine direk url den get methodu ile istediğimiz satırı çekmek istersek?

O zaman controller dosyamız olan pizza.php dosyamızı aşağıdaki şekilde tekrar düzenliyoruz.

Şimdi adres çubuğuna http://localhost/CodeIgniter/index.php/pizza/a_pizza yazdığımızda yine Gürcan ın siparişleri geldi ekrana, çünkü fonksiyona herhangi bir değer yollamadık ve default olan id=’1′ çalıştı. Şimdi fonksiyona değer yollayalım bunun için adres çubuğuna ek olarak 2 değerini ekleyelim ve çalıştıralım.

http://localhost/CodeIgniter/index.php/pizza/a_pizza/2

Şimdi ekrana 2 nolu id nin siparişi gelecektir.

http://localhost/CodeIgniter/index.php/pizza/a_pizza/3

için 3 nolu gelecektir. Bu sayede fonksiyona istediğimiz değeri yolladık ve istediğimiz veriyi çekmiş olduk.

Tabiki burada sadece get_where() fonksiyonunu kullandık. Diğer bütün komutları, ayrıntılı açıklaması ve örnekleri ileriki derslerimizde anlatılacaktır. Bu dersimizde sadece fonksiyona değer yollamayı öğrenmiş olduk.

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

8 yorum »

  • Ahmet dedi ki:

    Emegine saglik kardes.
    Sanirim su kodda ufak bir teknik sorun var; düzeltirseniz acemi arkadaslar takilip kalmazlar:
    $data[‘orders’]=$this->pizza_model->get_specific_order();

  • admin dedi ki:

    Ahmet, sorunu detaylı şekilde yazarsan düzeltebilirim. Şu anda herhangi bir sorun göremiyorum.

  • Seçkin dedi ki:

    Arkadaşım ne yazık ki Ahmet arkadaşın dediği gibi ben de çakıldım kaldım. Her ne hikmetse id=1 nolu kayıt çağırılamıyor? Daha doğrusu bir türlü id=1 nolu kaydı çağıramadım. Kaldım Bunun var mı bir hal çaresi?

  • admin dedi ki:

    Seçkin, şimdi Ahmet’in bahsettiği konuda herhangi bir problem yok. Konu anlatılırken, ilk olarak specific order ları çekerken herhangi bir id almadık. get_specific_order() fonksiyonu çağrıldığında direk 1 nolu id ye sahip veriler geliyordu. Yazının devamında ise bunu geliştirerek id yi kullanıcıdan aldık.get_specific_order($id) şeklinde çağrılır oldu. Eğer bu noktayı atladıysanız çalışmıyor olabilir. Eğer farklı bir problem ise sorunu ayrıntılı yazarsanız çözmeye çalışırız.

  • Sercan dedi ki:

    Elinize sağlık takip ediyorum çok açıklayıcı ve yararlı olmuş.

  • Link dedi ki:

    Merhaba
    Dersleriniz için teşekkür ederim bir sorum olacakti.
    Mesela database alaninda ID,Başlik,Açıklama alani var

    http://localhost/CodeIgniter/index.php/pizza/a_pizza/2
    burdaki kod kısmındaki
    http://localhost/CodeIgniter/index.php/ID/Baslik

    olarak nasıl veriyi cagirabilirim

  • admin dedi ki:

    Link,

    http://localhost/CodeIgniter/index.php/ID/Baslik yerine http://localhost/CodeIgniter/index.php/metodun/ID/Baslik şeklinde kullanabilirsin. Method olarak ta,

    function metodun($id='1',$baslik='')
    {
    //Databaseden id ve baslik a göre işlem yapılacak.
    }

    şeklinde bir yapı kullanabilirsin.

  • nuru dedi ki:

    merhabalar, önceliklere dersler için teşekkürler. fakat uygulamaya başladığımda class ları çalıştırıyo içindeki a_pizza yı gösteremiyorum http://localhost/CodeIgniter/index.php/pizza/a_pizza bunu yazdığım vakit sayfa göstermiyor, hata veriyor neden olabilir?

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.