Codeigniter Aktif Kayıt: Ekle, Seç, Güncelle, Sil

İçindekiler:

Anonim

Veriler, çoğu uygulamanın ana hatlarıdır. Verilerin, içgörü sağlamak ve iş kararlarını kolaylaştırmak için daha fazla analiz edilebilecek şekilde depolanması gerekir. Veriler genellikle veri tabanında saklanır. Veritabanıyla etkileşimde bulunulduğunda başlıca endişeler arasında güvenlik, erişim kolaylığı ve Yapılandırılmış Sorgu Dili'nin (SQL) veritabanı satıcısına özgü uygulamaları yer alır.

Aktif kayıt, veritabanıyla kolay, güvenli ve anlamlı bir şekilde etkileşimi kolaylaştıran bir tasarım modelidir.

Aktif kayıt aşağıdaki avantajlara sahiptir

  • Etkin kaydın basit yöntem zincirleriyle kayıtları ekleyin, güncelleyin ve silin
  • Kullanıcı girişini, parametreleri kullanarak güvenli bir şekilde gönderir
  • Uygulama kodunu yeniden yazmadan MySQL, SQL Server vb. Gibi birden çok veritabanı motoruyla çalışmanıza izin verir
  • CodeIgniter, arka planda her veritabanı motoru için özel sürücüler kullanır.

Bu eğitimde şunları öğreneceksiniz:

  • Aktif Kayıt nasıl kullanılır: Örnek
  • CodeIgniter Veritabanı Yapılandırması
  • CodeIgniter Aktif Kayıt Ekle
  • CodeIgniter Aktif Kaydı Seçin
  • CodeIgniter Güncellemesi Aktif Kayıt
  • CodeIgniter Aktif Kaydı Sil

Aktif Kayıt nasıl kullanılır: Örnek

Bu öğreticide, öğretici veritabanını tartışacağız. Biri sipariş, diğeri detayları olan iki masamız olacak.

Bu eğitici, MySQL veritabanınızın kurulu ve çalışır durumda olduğunu varsayar.

Öğretici veritabanı oluşturmak için aşağıdaki komut dosyalarını çalıştırın:

CREATE SCHEMA ci_active_record;USE ci_active_record;CREATE TABLE `order_details` (`id` int(11) NOT NULL AUTO_INCREMENT,`order_id` int(11) DEFAULT NULL,`item` varchar(245) DEFAULT NULL,`quantity` int(11) DEFAULT '0',`price` decimal(10,2) DEFAULT '0.00',`sub_total` decimal(10,2) DEFAULT '0.00',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT = 1;CREATE TABLE `orders` (`id` int(11) NOT NULL AUTO_INCREMENT,`date` timestamp NULL DEFAULT NULL,`customer_name` varchar(245) DEFAULT NULL,`customer_address` varchar(245) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT = 1;

Yukarıdaki kod, ci_active_record adlı bir veritabanı oluşturur ve order ve order_details adında iki tablo oluşturur. İki tablo arasındaki ilişki, siparişlerdeki sütun kimliği ve order_details tablosundaki order_id ile tanımlanır.

CodeIgniter Veritabanı Yapılandırması

Şimdi uygulamamızı bu veritabanı ile iletişim kurabilecek şekilde yapılandıracağız.

Application / config / database.php'de bulunan veritabanı yapılandırma dosyasını açın

yapılandırma dosyasında aşağıdaki satırları bulun

'hostname' => 'localhost','username' => '','password' => '','database' => '',

Yukarıdaki kodu aşağıdaki şekilde güncelleyin

'hostname' => 'localhost','username' => 'root','password' => 'letmein','database' => 'ci_active_record',

Not: Kullanıcı adını ve parolayı MySQL yapılandırmanızla eşleşenlerle değiştirmeniz gerekecektir.

Veritabanı yapılandırma ayrıntılarına ek olarak, CodeIgniter'a yüklendiğinde veritabanı kitaplığını yüklemesini de söylememiz gerekir.

Adım 1) Aşağıdaki dosyayı açın application / config / autoload.php

Adım 2) $ autoload dizisi anahtar kitaplıklarını bulun ve veritabanı kitaplığını aşağıda gösterildiği gibi yükleyin

$autoload['libraries'] = array('database');

İŞTE,

  • Yukarıdaki kod, uygulama başladığında veritabanı kitaplığını yükler.

CodeIgniter Aktif Kayıt Ekle

Test amacıyla, uygulamamızla aktif kayıt aracılığıyla etkileşimde bulunmak için kullanacağımız bir kontrolör ve tanımlanmış yollar oluşturacağız.

Yeni bir dosya uygulaması / denetleyiciler / ActiveRecordController.php oluşturun

ActiveRecordController.php'ye aşağıdaki kodu ekleyin

 '2018-12-19','customer_name' => 'Joe Thomas','customer_address' => 'US'];$this->db->insert('orders', $data);echo 'order has successfully been created';}}

İŞTE,

  • $ data = […] veritabanı tablo adlarını dizi anahtarları olarak kullanan ve bunlara değerler atayan bir dizi değişken verisini tanımlar
  • $ this-> db-> insert ('siparişler', $ veri); veritabanı kitaplığının insert yöntemini çağırır, tablo adı sıralarını ve parametre olarak $ data dizi değişkenini iletir. Bu satır, alan adları olarak dizi anahtarlarını ve veritabanına eklenecek değerler olarak dizi değerlerini kullanarak SQL INSERT ifadesini oluşturur.

Artık aktif kayıt için denetleyici yöntemini başarıyla oluşturduğumuza göre, denetleyici yöntemini yürütmek için arayacağımız bir yol oluşturmamız gerekecek.

Şimdi application / config / route.php içinde route.php dosyasını açın

aşağıdaki satırı rotalara ekleyin

$route['ar/insert'] = 'activerecordcontroller/store_order';

İŞTE,

  • ActiveRecordController'ın store_order'ını çağıran bir yol ar / insert tanımlarız.

Şimdi yöntemimizi test etmek için web sunucusunu başlatalım.

Yerleşik PHP sunucusunu başlatmak için aşağıdaki komutu çalıştırın

cd C:\Sites\ci-appphp -S localhost:3000

İŞTE,

  • Yukarıdaki komut tarayıcısı komut satırına gidin ve yerleşik sunucuyu 3000 numaralı bağlantı noktasından başlatın.

Aşağıdaki URL'yi tarayıcınıza yükleyin

http: // localhost: 3000 / ar / ekle

Aşağıdaki sonuçları alacaksınız

order has successfully been created

MySQL öğretici veritabanını açın ve siparişler tablosunu kontrol edin

Aşağıdaki resimde gösterildiği gibi yeni oluşturulmuş satırı yapabileceksiniz.

CodeIgniter Aktif Kaydı Seçin

Bu bölümde veritabanında bulunan kayıtları nasıl okuyacağımızı ve web tarayıcısında sırasız liste olarak nasıl görüntüleyeceğimizi göreceğiz.

ActiveRecordController'a aşağıdaki yöntemi ekleyin

public function index() {$query = $this->db->get('orders');echo "

Orders Listing

";echo "
    ";foreach ($query->result() as $row) {echo "
  • $row->customer_name
  • ";}echo "
";}

İŞTE,

  • $ sorgu = $ this-> db-> get ('siparişler'); tüm alanları seçerek sipariş tablosuna göre seçim sorgusunu çalıştırır
  • echo "

    Sipariş Listesi

    "; 3 boyutunda bir HTML başlığı görüntüler
  • echo "
      "; sıralanmamış HTML listesi için açılış etiketini yazdırır
    • foreach ($ sorgu-> sonuç (), $ satır) {…}, veritabanından döndürülen sonuçlar arasında döngü yapmak için for döngüsünü kullandı. echo "
    • $ satır-> müşteri_adı
    • "; customer_name'i veritabanından yazdırır

    Aşağıdaki URL'yi yüklemeden önce, veritabanına birkaç kayıt daha yükleyebilirsiniz.

    Şimdi SELECT sorgusu için bir yol tanımlayalım

    Application / config / route.php tablosunu açın

    Aşağıdaki rotayı ekleyin

    $route['ar'] = 'activerecordcontroller';

    İŞTE,

    • Yol ar, ActiveRecordController sınıfının dizin yöntemine işaret eder. Bu, varsayılan olarak, kayıt ekleyen rota için sizin yaptığınız gibi dizin yöntemini belirlemememizin nedenidir.

    Web sunucusunun zaten çalıştığını varsayarak, aşağıdaki URL'yi yükleyin

    http: // localhost: 3000 / ar

    Web tarayıcınızda aşağıdakine çok benzeyen sonuçları görebilmelisiniz.

    CodeIgniter Güncellemesi Aktif Kayıt

    Bu bölümde, aktif kaydın veritabanını güncellemek için nasıl kullanılacağından bahsedeceğiz. Joe Thomas müşteri adını Joe olarak güncellemek istediğimizi varsayalım.

    ActiveRecordController sınıfına aşağıdaki yöntemi ekleyin

    public function update_order() {$data = ['customer_name' => 'Joe',];$this->db->where('id', 1);$this->db->update('orders', $data);echo 'order has successfully been updated';}

    İŞTE,

    • $ data = […] veritabanı tablosunda güncellemek istediğimiz alanları ve değerleri tanımlar
    • $ this-> db-> burada ('id', 1); güncelleme sorgusunun where cümlesini ayarlar
    • $ this-> db-> update ('siparişler', $ veri); SQL güncelleme sorgusunu oluşturur ve veritabanımızda yürütür.

    Yukarıdaki kod aşağıdaki SQL ifadesini üretecektir

    UPDATE orders SET customer_name = 'Joe' WHERE id = 1;

    Şimdi route.php application / config / route.php dosyasını güncelleyelim

    Aşağıdaki rotayı ekleyin

    $route['ar/update'] = 'activerecordcontroller/update_order';

    Değişiklikleri kaydedin

    Aşağıdaki URL'yi web tarayıcısına yükleyin

    Şimdi veritabanı kayıtlarını görüntüleyelim ve değişikliklerin etkilenip etkilenmediğini görelim.

    Yukarıda verilen görüntüden de görebileceğiniz gibi, ilk kayıt Joe Thomas'tan Joe'ya güncellendi.

    CodeIgniter Aktif Kaydı Sil

    Şimdi veritabanından bir kayıt sileceğiz. 3 numaralı kaydı sileceğiz.

    ActiveRecordController'a aşağıdaki yöntemi ekleyin

    public function delete_order() {$this->db->where('id', 3);$this->db->delete('orders');echo 'order has successfully been deleted';}

    İŞTE,

    • $ this-> db-> burada ('id', 1); where cümlesini ayarlar
    • $ this-> db-> sil ('siparişler'); where cümlesi kullanılarak belirlenen ölçütlere göre siparişler tablosundaki veritabanı satırını siler.

    Yukarıdaki kodu çalıştırmak için aşağıdaki URL'yi web tarayıcımıza yükleyin

    http: // localhost: 3000 / ar / sil

    Özet

    Bu eğitimde, veritabanından kayıt eklemek, güncellemek, silmek ve seçmek için aktif bir kayıtla nasıl çalışılacağını öğrendiniz. Kayıt oluşturmak, güncellemek ve silmek için statik değerlerle çalıştık. Bir sonraki eğitimde, kullanıcının veritabanında dinamik olarak kayıtlar oluşturmak için kullanabileceği bir kullanıcı arayüzü oluşturacağız.