Codeigniter Dersleri – 5 – Database Bağlantısı ve Veri Çekme
Öncelikle database bağlantısı için standart ayarları yapmamız gerekiyor. Bunun için application/config/database.php dosyasını aşağıdaki gibi düzenliyoruz. Standart olarak ilk dört numaralı ayarları güncellesek yeterlidir.
Bu ayarları yaptıktan sonra phpmyadmine giriyorum ve kendime göre tablo oluşturacağım. Pizza isimli tablomda 8 alan olacak bunlar aşağıdaki resimde görünmekte. Bunlar ileride değişiklik gösterebilir.
Database elle bir kaç tane değer girelim ve bunları nasıl sitemize çekeceğimizi görelim.
Verilerimizi de girdikten sonra şimdi kodlarımızı yazmaya geldi sıra.
Application/models klasörüne pizza_model.php dosyası oluşturuyoruz ve içine alttaki kodları yazıyoruz.
Object-oriented dan construct ın ne olduğunu biliyorsunuz varsayıyorum ( kısaca class tanımlandığında çağrılan fonksiyon ).
__construct() içindeki
satır, class çağrıldığında database bağlantısını açmamızı sağlıyor.
satırı ise pizza tablosunda ki tüm verileri $query değişkenine atıyor.
Şimdi controller dosyamızı yani application/controllers/pizza.php dosyamızı alttaki şekilde güncelliyoruz.
Şimdi bu satırda;
model dosyamızı projemize yüklüyoruz. Eğer bütün fonksiyonlarda kullanıyorsak, her defasında yüklemektense construct içinde kullanabiliriz bu komutu.
Bu satırda ise;
Fonksiyonumuzdan dönen değerleri (tüm pizza tablosu dönüyor) view dosyasına göndermek üzere değişkene ($data[‘orders’]) atıyoruz.
Şimdi de view dosyamızı yani pizza_view.php dosyamızı alttaki şekilde güncelleyelim.
view dosyasına gelen veriyi foreach döngüsü ile kullanabiliriz. Böylece içindeki tüm bilgileri alıyoruz. Burada 11-58. satırlar arası databaseden gelen verilerin ekrana yansıtıldığı kod parçası.
Gelen verileri view dosyasında açmak yerine controller dosyasında açıp aynı işlemleri yapıp değişkene atarakta istediğimiz verileri yollayabiliriz.Ekran çıktısı aşağıdaki gibi olacaktır.
Siparisler
İsim | Pizza | İnce Kenar | Adet | Adres | Tip | Fiyat |
---|---|---|---|---|---|---|
Gurcan Kavakci | cilgin pizza | Evet | 2 | ev adresi | Küçük | 4 |
Mehmet | tavuklu | Hayır | 3 | is adresi | Büyük | 12 |
Zeynep | margarita | Evet | 1 | okul adresi | Normal | 3 |
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Csharp ile Uzak MySql Database Bağlantısı
Sonraki: Codeigniter Dersleri – 6 – Veritabanından Özel Veri Çekme >>>
emeğinizden dolayı tşk ederim.Bukadar güzel bilgilere neden kimse yorum yapmıyor onuda anlamış değilim.Ellerinize sağlık.Tşk.
elinize saglık gerçekten iyi anlatmısınız yalnız örneği denerken bende database hatası verdi..
Tam olarak nasıl bir hata aldınız?
A Database Error Occurred
Unable to select the specified database: codeigniter
Filename: C:wampwwwcodeignitersystemdatabaseDB_driver.php
Line Number: 140
böyle bir hata veriyor
sql dosyasını yüklediğiniz databasein ismi ile config/database.php dosyasında bululnan $db[‘default’][‘database’] =satırı aynı olmalı, burayı düzeltin lütfen . Büyük ihtimalle sorun buradan kaynaklanıyor.
tesekkürler hata kalktı..tekrar elinize sağlık …
Elinize Emeğinize Sağlık… Database bilgileri harika anlatım ve kolay anlaşılır şekilde :))
selam
Fatal error: Call to a member function get() on a non-object in C:wampwwwpizzaciapplicationmodelspizza_model.php on line 17
şeklinde bir hata aldım çözümünü bulmamda yardımcı olursanız sevinirim.
pizza_model.php dosyasındaki 17. satırı yazabilirmisiniz?
$query = $this->db->get(‘pizza’); // 17.satır
şeklinde buradaki get metodu ile ilgili bir sorun mu var acaba. ayrıca aşağıdaki gibi hata alıyorum
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: db
Filename: models/pizza_model.php
Line Number: 17
Fatal error: Cannot access empty property in C:\wamp\www\pizzaci\system\core\Model.php on line 50 seklinde
Öncelikle php sürümünüz 5.0 ve üzeri olmalı, boş bir sayfaya phpinfo(); yazarak öğrenebilirsiniz. Eğer böyleyse __construct() içindeki $this->load->database(); satırını kopyalayıp sorun yaratan satırın üstünde bir yere yapıştırabilirmisiniz ($query = $this->db->get(‘pizza’);). Classlar la ilgili bir sorun olabalilir.
Apache Version :
2.2.17
PHP Version :
5.3.4
MySQL Version :
5.1.53
wamp’in en gncel sürümü. dediğiniz gibi $this->load->database(); ilgili yere yapıştırdım ve düzeldi ilginize teşekkürler 🙂 dersler için çok teşekkür ederim. çk yararlı.
Tesekkür etmeden gecemeyecegim…
Tesekur edioyorum gercek guzel ve muthis bir calisma olmus .
Bu kadar emek vererek bizimle paylaştığınız için teşekkür ederim. Yerli yabancı tüm kaynaklardan daha iyi olmuş bu. elinize sağlık.
emeğiniz için teşekkürler
arkadaşlara da başarılar
öncelikle dersler için teşekkür ediyorum.
ben veri tabanın dan verileri okutamadım hatada almıyorum tablonun üst kısmı oluşuyor fakat veri tabanında oluşturduğum tablodaki verileri ekranda göremiyorum.sebebi ne olabilir???
eren, bunun bir çok sebebi olabilir. Siz sitemizdeki kodların aynısını yazdığınız halde hata alıyor musunuz?
evet aynısı yaptım.veri tabanını da aynen dediğiniz gibi oluşturdum.
sadece ilk başda localhost/codigniter a erişirken hata aldığım için application/config/database.php dosyasında db_debug kısmını FALSE olarak değiştirmiştim.
tamam sorunu hallettim.’username’ i yanlış yazmışım şimdi gördüm:)
teşekkürler .
Fatal error: Call to a member function get() on a non-object in C:wampwwwpizzaciapplicationmodelspizza_model.php on line 17
bu tarz bi hata bende aldım sanırım sorun
control slasındaki $this->load->view(“pizza_goster”,$data);
bu satırda class ismini büyük yazarsanız (Pizza_Goster) gibi hata veriyo ama küçük harf yaptığınızda sorun gidiyor. Sanırım büyük harf küçük harf ayrımı var. sanırım tüm class isimlerini kullanırken küçük yazmak gerekiyor.
Tebrik ederim, dersler hem çok bilgilendirici hem de çok basit bir dille anlatılmış. Çok yardımcı oldunuz. Teşekkürler.
Teşekkür ederim yeni öğrenmeye başlayan biri için gerçekten çok yararlı çok anlaşılır oluyor
Merhaba,
Çalışmalaranız için teşekkürler, elinize sağlık. Hepsi çok güzel ve yalın anlatımlı çalışmalar olmuş.
Bu çalışmayı uyguladıktan sonra bir önceki derste uyguladığımız ve sorunsuz çalışan;
http://localhost/codeigniter/index.php/pizza/get_method/mexico/3
bağlantısına tekrar girdim ve şöyle bir hata aldım:
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: core/Loader.php(829) : eval()'d code
Line Number: 13
İlgili fonksiyonda bir değişiklik yapmadık ama şimdi bu hatayı vermesinin nedeni ne olabilir?
Gelen verileri view dosyasında açmak yerine controller dosyasında açıp aynı işlemleri yapıp değişkene atarakta istediğimiz verileri yollayabiliriz. Demişsiniz örneğini yayınlayabilir misiniz?
Hocam emeğinize sağlık gerçekten çok güzel dersler, kıymetini bilmek lazım bunların. Kolay gelsin.
böyle güzel ve anlaşılır bir paylaşımda bulunduğunuz için çok teşekkür ederim. elinize emeğinize sağlık
Hata alan arkadaşlar http://localhost/CodeIgniter/ bu şekilde çağırmanız gerekiyor. tekrar denerseniz projeniz çalışacaktır
Yeni başlayanlar için altın bilgiler. Teşekkürler…
http://localhost/CodeIgniter/ a girince 404 veriyor neden eksiksiz yaptım
Çok güzel bir kaynak ve çok güzel anlatmışsınız herşeyi ilk dersten şu an ki derse kadar herşey süper elinize sağlık
config/database ayarlarını değiştirdim phpmyadminden hangi veritabanını seçmeliyim yada kendim mi oluşturacağım
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/pizza_view.php
Line Number: 12
böyle bir hata alıyorum saatlerdir uğrasıyorum ama hallademedim yardımcı olasanız sevınrım.
makalenin tamamını heyecanla okuyacağım. yararlı ve çok güzel iş olmuş
Dersleriniz için çok teşekkürler, elinize sağlık. Bu derste resimler görünmüyor. Veritabanı alanlarını oluştururken acemi olduğum için sanırım, varchar mı boolean mı seçeceğime falan karar veremedim. Bu resim yollarını güncellerseniz, acemiler için daha anlaşılır olur diye düşünüyorum.
Selamun Aleykum, hocam bu paylaşımı takip ediyomusunuz hala bilmiyorum ama resimler gözükmüyor. Bilginize
Merhaba,
Çalışmalaranız için teşekkürler, elinize sağlık.
şöyle bir hata aldım:
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: core/Loader.php(829) : eval()’d code
Line Number: 22
Bu hatayı vermesinin nedeni ne olabilir?
hocam fotoğraflar silinmiş tekrar yüklermisiniz
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