Codeigniter Dersleri – 6 – Veritabanından Özel Veri Çekme
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.
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Codeigniter Dersleri – 5 – Database Bağlantısı ve Veri Çekme
Sonraki: Codeigniter Dersleri – 7 – Formlara Giriş >>>
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();
Ahmet, sorunu detaylı şekilde yazarsan düzeltebilirim. Şu anda herhangi bir sorun göremiyorum.
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?
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.
Elinize sağlık takip ediyorum çok açıklayıcı ve yararlı olmuş.
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
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.
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!
En Son Yazılanlar
Codeigniter Dersleri
Kategoriler
Teknoloji Haberleri
Android Dersleri
Arşiv
Sitemizin QR Kodu
Yeniliklerden İlk Sizin Haberiniz Olsun
KodMerkezi.Net Facebookta
En Çok Okunanlar
En Son Aranan Kelimeler
En Çok Oy Alanlar
Etiket Bulutu
İlginizi Çekecek Siteler
Arşiv
Yönetim
En Son Yapılan Yorumlar
En Çok Okunanlar