Bu makalede, MVC uygulamalarında MySQL veritabanı işlemleri hakkında bilgi alabilirsiniz Veritabanı bağlantısı, veri ekleme, güncelleme ve silme işlemleri, veri listeleme ve detay alma gibi konuları ele alıyoruz MySQL veritabanı işlemlerini kolay ve basit bir şekilde gerçekleştirebilirsiniz

MVC uygulamaları, web uygulamaları için popüler bir mimari modelidir ve verilerin tutulması için sıklıkla MySQL veritabanı kullanılır. Bu makalede, MVC uygulamalarında MySQL veritabanı işlemleri hakkında bilgi alacaksınız. Veri tabanı bağlantıları, veri ekleme, güncelleme ve silme işlemleri, veri listeleme ve detay alma gibi konuları ele alacağız. Bu sayede, MySQL veritabanı işlemlerini kolay ve basit bir şekilde gerçekleştirebileceksiniz.
1. Veritabanı Bağlantısı Oluşturma
MVC uygulamaları için MySQL veritabanı bağlantısı oluşturma oldukça önemlidir. Bu bağlantı sayesinde, veritabanında yapılan değişiklikler kullanıcı arayüzünde de görülebilir hale gelir. Veritabanı bağlantısı, MVC uygulama yapısında model sınıfı aracılığıyla gerçekleştirilir.
Bağlantı oluşturmak için öncelikle MySQL veritabanı sunucusuna erişim izni ve bilgilerine sahip olmak gerekmektedir. Bunlar; veritabanı adı, kullanıcı adı, şifre ve sunucu adresidir. Bu bilgiler doğru bir şekilde girildiğinde, bağlantı oluşturulabilir.
Bir bağlantı oluşturmak için, öncelikle veritabanı bağlantısı için bir sınıf oluşturulmalıdır. Daha sonra bu sınıfın içinde MySQL veritabanı sunucusuna bağlanmak için gereken bilgiler tanımlanır. Bunun için, bir mysqli_connect() fonksiyonu kullanılır.
Parametreler: | Açıklama: |
---|---|
hostname | MySQL sunucusu adresi |
username | Kullanıcı adı |
password | Şifre |
dbname | Veritabanı adı |
Bağlantı işlemi gerçekleştirildikten sonra, sınıf içerisinde bulunan mysqli_select_db() fonksiyonu kullanılarak kullanılmak istenen veritabanı seçilir.
Veritabanı bağlantısı oluşturulduktan sonra, model sınıfı içinde yer alan fonksiyonlarda bu bağlantı kullanılarak veritabanına erişim sağlanabilir. Bu sayede veri ekleme, güncelleme, silme ve listeleme işlemleri gerçekleştirilebilir.
2. Veri Ekleme İşlemi Yapma
MVC uygulamalarında MySQL veritabanına veri eklemek için öncelikle bir model sınıfı oluşturmanız gerekiyor. Bu model sınıfı, MySQL veritabanındaki tablo ile eşleşecek ve veri ekleme işlemi için kullanılacak. Model sınıfı oluşturulduktan sonra, özelliklerin tanımlanması ve constructor fonksiyonunun oluşturulması gerekiyor. Bu adımlar tamamlandıktan sonra veri ekleme işlemi gerçekleştirilebilir.
Veri ekleme işlemi için öncelikle oluşturulan model sınıfının nesnesi oluşturulmalı ve veriler belirtilmelidir. Daha sonra oluşturulan nesne üzerinden veri tabanına erişim sağlayacak olan bir controller sınıfı oluşturulur. Controller sınıfı içerisinde ise, model sınıfının nesnesi çağrılır ve veri ekleme fonksiyonu kullanılarak MySQL veritabanına veri eklenir.
Bu adımların yanı sıra, veri ekleme işlemi sırasında oluşabilecek hataları ve bu hataların nasıl giderileceğini de göz önünde bulundurmak gerekiyor. Veri ekleme işlemi sırasında kullanıcı tarafından gönderilen verilerin doğruluğunun kontrol edilmesi ve gerekiyorsa hata mesajlarının kullanıcıya gösterilmesi önemlidir. Bu şekilde hem kullanıcı tarafında güvenilirlik artar hem de uygulama açısından veri bütünlüğü sağlanmış olur.
2.1. Model Sınıfının Oluşturulması
Veri ekleme işlemi yapabilmek için öncelikle bir model sınıfının oluşturulması gerekiyor. Bu sınıf, veri tabanındaki verilerin transferini sağlamaktadır. Oluşturulan model sınıfı veritabanı işlemleri için kullanılacak olan özelliklere sahip olmalıdır.
Model sınıfı için sunucu, veritabanı, kullanıcı adı, şifre vb. gibi özellikler tanımlanmalıdır. Bu özellikler herhangi bir değişiklik yapıldığında, veritabanına erişim sağlamaktadır. Aynı zamanda, bu işlemler için gereken sorgular da tanımlanmalıdır. Sorgular, veritabanı işlemlerinde kullanılacak olan temel işlemleri yapmakta kullanılır. Örneğin, INSERT INTO, SELECT, UPDATE vb. gibi sorgular tanımlanır.
Model sınıfına bir constructor oluşturmak, veritabanına erişim sağlamak için oldukça önemlidir. Constructor, sınıfın özelliklerini ayarlamak için kullanılan bir metodudur. Bu metot, veritabanı işlemlerinde kullanılan özellikleri alır ve sınıfın özelliklerine yerleştirir. Bu işlem sayesinde sınıf içerisinde yer alan özellikleri, veritabanı ile bağlantı kurmak için kullanmak mümkündür.
Model sınıfı oluşturulduktan sonra, veritabanında işlem yapmak için kullanılacak olan özellikler tanımlanır ve constructor oluşturularak veritabanı ile bağlantı kurulur.
2.1.1. Özelliklerin Tanımlanması
MySQL veritabanı işlemleri yapmak için öncelikle model sınıflarının oluşturulması gerekiyor. Model sınıfları, verilerin nasıl değiştirileceği ve hangi özelliklere sahip oldukları hakkında bilgi sağlarlar.
Model sınıfları oluşturulurken hangi özelliklerin tanımlanması gerektiğine dikkat etmek önemlidir. Özellikler genellikle MySQL veritabanındaki sütunlara karşılık gelir ve verilerin nasıl kaydedileceğiyle ilgili bilgi sağlarlar. Özellikler, genel olarak veri tipleri, boyutlar ve varsayılan değerler gibi özellikler içerir.
Özelliklerin tanımlanması sırasında dikkat edilmesi gereken bazı faktörler vardır. Örneğin, veritabanında kullanılan sütunların veri tipleri ile model sınıfındaki özelliklerin uyumlu olması gerekmektedir. Ayrıca, özelliklerin kullanım amacına uygun olarak adlandırılması ve gerekli durumlarda açıklama eklenebilir.
Özelliklerin tanımlanması sırasında tablo yapılarındaki koşulların göz önünde bulundurulması önemlidir. Özelliklerin seçimi, veri erişiminde etkili olabilir ve veri işlemenin hızını artırabilir. Veri türleri, veritabanı hızını etkileyebilen önemli bir faktördür. Özelliklerin kullanımı, istemci uygulamalarının veri işlemeyi, kaydedilişi ve geri çekilmesi için veritabanına karşı gerçekleştirdiği işlemler üzerinde büyük bir etkisi olabilir.
Genel olarak, model sınıflarının oluşturulması ve özelliklerin tanımlanması, veritabanı işlemlerinin doğru şekilde yapılabilmesi için temel adımlarından biridir.
2.1.2. Constructor Oluşturma
Model sınıfında herhangi bir özellik değiştiğinde, sınıfta bir constructor olmasının önemi büyüktür. Bunun nedeni constructor'ın sınıfın nesnesini (object) oluştururken çağrılmasıdır. Model sınıfı veritabanı işlemlerinde kullanıldığından, constructor'ın olması sınıfın özelliklerine varsayılan değer atama işlemini yapar. Bu sayede, model sınıfının özellikleri değiştiğinde koda yüklenmeden önce varsayılan değerleri alarak işlemler sırasında hataların önüne geçilmiş olur.
Bir constructor oluşturmanın diğer bir avantajı ise, kodun okunabilirliğinin artmasıdır. Özellikle uzun model sınıflarında birçok özellik bulunur. Constructor sayesinde, sınıfın nesnesini oluştururken hangi özelliklere ne tür değerler atanacağı açıkça gösterilir.
2.2. Veri Ekleme İşlemi
Veri ekleme işlemi yapmak için önce bir model sınıfının oluşturulması gerekiyor. Model sınıfı oluşturulduktan sonra, gerekli tüm özelliklerin tanımlanması yapılmalıdır. Bu özellikler genellikle veritabanındaki tablo alanlarına karşılık gelirler.
Özellikler tanımlandıktan sonra, model sınıfına bir constructor oluşturmak önemlidir. Constructor fonksiyonuyla, veri ekleme veya yenileme işlemi esnasında kullanılacak olan parametrelerin modele aktarılması sağlanır. Böylece, gerekli parametrelerin boş kalmayacağı ve veri güncelleme sorunlarının önüne geçilmiş olur.
Model sınıfının yapılandırılması tamamlandıktan sonra, hazırlanan model sınıfı kullanılarak MySQL veritabanına yeni bir veri eklenebilir. Bu işlem için kullanılacak olan sorgu, genellikle "INSERT INTO" şeklinde başlar ve yeni veriyi ilgili tabloya ekler. Yeni eklenen verinin veritabanında başarıyla kaydedildiği kontrol edilir ve son kullanıcıya uygun bir mesaj gösterilir.
3. Veri Güncelleme İşlemi Yapma
MySQL veritabanında mevcut verilerin güncellenmesi için öncelikle MVC uygulamasında bir düzenleme sayfası oluşturulması gerekmektedir. Bu sayfada kullanıcı istediği veriyi seçerek güncelleme işlemi yapabilir.
Düzenleme sayfası oluşturulduktan sonra, kullanıcı tarafından yapılan değişiklikler controller sınıfında çalışan bir metotla MySQL veritabanına yansıtılır. Bu metotta öncelikle kullanıcının istediği veri veritabanından seçilir ve sonra güncellenmek istenen özellikler değiştirilerek veritabanına kaydedilir.
Güncelleme işlemi yaparken eskiden tutulan verinin değiştirilmesi yerine güncellenecek olan verinin kopyasının oluşturulması önerilir.
Ayrıca, MVC uygulamalarında verilerin güncellenmesi için doğru güncelleme sorgusunun yazılması oldukça önemlidir. Eğer sorgu yanlış yazılırsa, veritabanındaki tüm veriler silinebilir veya hiçbir veri güncellenemeyebilir.
Veri güncelleme işlemi, MVC modelinde controller sınıfının metotlarında gerçekleştirilir. Bu nedenle, güncelleme işlemi yapmak için gerekli kodlar controller sınıfında yer alır.
3.1. Düzenleme Sayfasının Oluşturulması
MVC uygulamalarında MySQL veritabanında veri güncelleme işlemi yapmak istediğinizde öncelikle bir düzenleme sayfasının oluşturulması gerekmektedir. Bu sayfada, güncellenecek veri ile ilgili bilgilerin kullanıcıya sunulması ve güncelleme işleminin gerçekleştirilmesi sağlanır.
Düzenleme sayfası oluşturulurken, kullanıcının veri düzenleme işlemini kolayca yapabilmesi için gerekli tüm alanlar eklenmelidir. Bu alanlar, örneğin bir form içinde yer alabilir. Formda ise, kullanıcının değiştirmesi gereken özelliklerin listesi bulunmalıdır. Bu özellikler, model sınıfına tanımlanmıştır.
Formda yer alan özelliklerin yanında her biri için bir etiket yer alır. Bu etiketler, kullanıcının alanlar hakkında bilgi sahibi olmasını sağlar. Ayrıca formda bir de "Güncelle" düğmesi bulunur. Bu düğmeye tıklandığında, formdaki bilgiler alınarak güncelleme işlemi gerçekleştirilir.
Düzenleme sayfası için HTML form etiketleri kullanarak kolayca bir form oluşturabiliriz. Bunun yanı sıra, formun güzel ve okunaklı görünmesi için CSS kullanılabilir. Form oluşturma işleminde farklı seçebileceğiniz çeşitli çerçeveler ya da şablonlar mevcuttur.
Ayrıca, form içindeki özellikleri doğru bir şekilde tanımlamak için bir tablo oluşturabiliriz. Bu tabloda, özellikler ve etiketleri birlikte yer alır. Böylece kullanıcının form içindeki alanları daha iyi anlaması sağlanır.
3.2. Veri Güncelleme İşlemi
MVC uygulamalarında veri güncelleme işlemi için düzenleme sayfasında değişiklikler yapıldıktan sonra, güncellenen verilerin MySQL veritabanına yansıtılması gerekiyor. Bu işlem basit birkaç adımda gerçekleştirilebilir.
İlk adım olarak, düzenleme sayfasından alınan verilerin MySQL veritabanındaki ilgili kayıtta güncellenmesi gerekiyor. Bunun için gerekli SQL sorgusu oluşturulmalı ve bu sorgu MVC uygulamasının model sınıfı üzerinden veritabanına gönderilmelidir.
Adım | İşlem |
---|---|
1 | Düzenleme sayfasından alınan verilerin kontrol edilmesi |
2 | Güncelleme işlemi için SQL sorgusunun oluşturulması |
3 | Model sınıfı üzerinden sorgunun MySQL veritabanına gönderilmesi |
4 | Güncelleme işleminin gerçekleştiğine dair kullanıcıya bilgi verilmesi |
Yukarıdaki adımların doğru bir şekilde uygulanması ile kullanıcıların yaptığı değişiklikler, MySQL veritabanındaki ilgili kayıtta güncellenecektir.
4. Veri Silme İşlemi Yapma
MVC uygulamaları, birçok farklı veritabanı işlemi yapabilirler. Bunlardan biri de veri silme işlemidir. Mevcut verilerin silinmesi işlemi, birçok durumda çok önemli olabilir. Örneğin, bir kitap satış web sitesi için, stoklarında bulunmayan ürünleri silmek gerekebilir. Bu işlem için aşağıdaki adımlar izlenebilir:
Veri silme işlemi yapmak için önce ilgili verinin seçilmesi gerekiyor. Bu işlemden önce, bir controller sınıfı oluşturulmalı ve gerekli model sınıfı tanımlanmalıdır. Silme işlemi için gerekli olan kod parçası şu şekildedir:
public function delete($id) { $model = new Model(); $model->delete($id); header("Location: /list");}
Bu kod parçası, mevcut verilerden belirli bir veriyi silmek için kullanılır. Kod parçası içerisinde öncelikle ilgili model sınıfı tanımlanır. Daha sonra, delete() fonksiyonu kullanılarak belirli bir veri silinir. Ardından, sayfa yeniden yönlendirilerek güncellenmiş veriler gösterilir.
Silme işlemi yaparken, veritabanında yanlışlıkla silinmiş verilerin geri getirilmesi çok zor olabilir. Bu nedenle, verileri silmeden önce dikkatli bir şekilde düşünmek önemlidir. Ayrıca, silinen veriler geri getirilemediğinden, silme işlemi sırasında dikkatli olmak gerekir.
4.1. Silme İşlemi
MySQL veritabanından veri silmek için öncelikle bir sorgu oluşturulması gerekiyor. Bu sorgu, silinecek verinin nerede olduğunu ve neye göre silinmesi gerektiğini belirtir. Bunun için "DELETE" komutu kullanılır.
Örneğin, "students" adında bir tabloda "id" adında bir sütun var ve bu sütuna göre öğrenci bilgileri kaydedilmiş. Bu tablodan "id" numarası 5 olan öğrenciyi silmek isterseniz, aşağıdaki sorgu kullanılabilir:
Sorgu: | DELETE FROM students WHERE id=5; |
Bu sorgu, "students" tablosundan "id" değeri 5 olan öğrenciyi silecektir. Ancak bu sorgu, sadece belirtilen koşullara uyan verileri siler. Bu nedenle, silme işlemi yapmadan önce, hangi verilerin silineceğine karar vermek önemlidir.
5. Veri Listesi Alma
MVC uygulamalarında veri listesi alma işlemi oldukça önemlidir. Veritabanımızda kayıtlı olan verileri listelemek, onları filtrelemek ve sıralamak gerekebilir. Bunu yapmak için öncelikle bir controller sınıfı oluşturmamız gerekir. Bu sınıfta verileri filtrelemek, sıralamak ve listelemek için gerekli kodları yazacağız.
Daha sonra, bu sınıfı bir view sınıfıyla eşleştireceğiz. Bu işlemi yaparken, verilerin nasıl görüneceğini ve nasıl sıralanacağını belirleyebiliriz. Örneğin, bir tablo oluşturarak verileri sıralayabilir veya filtreleyebiliriz.
Aynı zamanda, HTML kodundaki bazı öğelerle bir araya getirerek verileri daha da netleştirebiliriz. Örneğin, bir arama kutusu veya filtreleme öğeleri ekleyerek verileri daha kullanışlı hale getirebiliriz.
Verileri listeledikten sonra, kullanıcının tıklaması durumunda bir aksiyon ataması yapmamız gerekir. Bunun için, her veriye bir ID atamalıyız. Bu sayede, kullanıcı veriye tıkladığında, ilgili veriyi getirmek için bir sorgu gönderebiliriz.
Tüm bu adımları takip ederek, MVC uygulamalarında MySQL veritabanından veri listesi alma işlemini başarılı bir şekilde gerçekleştirebiliriz. Bu sayede, kullanıcıların ihtiyaçlarına göre verileri listeleyebilir ve filtreleyebiliriz.
5.1. Controller Sınıfının Oluşturulması
MVC uygulamalarında veri listesi alma işlemi yapmak için öncelikle bir controller sınıfı oluşturmak gereklidir. Controller sınıfı, kullanıcıların isteklerini alır ve uygulamanın buna göre davranmasını sağlar.
Veri listesi alma işlemi için oluşturulan controller sınıfı, veritabanı işlemlerini gerçekleştirir ve elde edilen verileri view sınıfına gönderir. Bu sayede, kullanıcılar görüntüleyebilecekleri veri listesi sayfasına yönlendirilir.
Controller sınıfı, veri listesi alma işlemi için model sınıfına çağrı yapar ve gerekli verileri alır. Ardından, alınan verileri view sınıfına göndermek için bir dizi oluşturarak ilgili view sınıfına yönlendirme yapar.
Bu işlemin gerçekleştirilebilmesi için model ve view sınıflarının da uygun şekilde oluşturulması gereklidir. Model sınıfı, veritabanı işlemlerini gerçekleştirirken; view sınıfı ise sonuçları kullanıcıya sunar.
Özetle, veri listesi alma işlemi yapmak için bir controller sınıfı oluşturmak gereklidir. Bu sayede, kullanıcıların verilerin sıralandığı ve görüntülendiği bir sayfaya erişmeleri sağlanır.
5.2. View Sınıfının Oluşturulması
MVC uygulamasında MySQL veritabanından alınan verileri göstermek için bir view sınıfı oluşturmak gerekmektedir. View sınıfı, kullanıcıya verilerin gösterilmesi için bir alan sağlar. İlk adım olarak, verilerin nasıl gösterileceği belirlenmelidir. Örneğin, veriler tablo halinde mi yoksa listede mi gösterilecek? Belirlenen yapının HTML kodlarıyla view sınıfına yazılması gerekmektedir.
Bir diğer etken ise controller sınıfının view sınıfıyla iletişim kurmasıdır. View sınıfında gösterilecek veriler, controller sınıfından alınmalı ve HTML kodlarının içindeki veri alanlarına yerleştirilmelidir. Bu işlem genellikle bir döngü ile yapılır, bu sayede veritabanından alınan tüm veriler gösterilebilir.
Bunun yanı sıra, kullanıcının verileri arama veya sıralama gibi seçenekleri de olabilir. Bu durumda, view sınıfında bu seçeneklerin yer aldığı düğmeler veya alanlar da oluşturulmalıdır. Tüm bu işlemler sonucunda, veritabanından çekilen ve gösterilmesi istenen veriler, bir view sınıfında kullanıcının görebileceği şekilde hazırlanmış olur.
Özetle, MySQL veritabanından alınan verileri göstermek için bir view sınıfı gerekir. View sınıfında, kullanıcıya verilerin gösterilmesi için bir alan sağlanır. Bunun için HTML kodları kullanılır ve veriler controller sınıfı ile view sınıfı arasında döngü ile doldurulur. Kullanıcının böyle seçenekleri arama ya da sıralama varsa, sayfa üzerinde buton ya da alan oluşturulmalıdır.
6. Veri Detayı Alma
MySQL veritabanlarındaki verilerin detaylarına erişmek, MVC uygulamalarında yaygın bir işlemdir. Veri detayına erişmek için, öncelikle ilgili verinin seçilmesi gerekiyor.
İlgili veriyi seçmek için SELECT
sorgusu kullanılır. Bu sorgunun kullanımı, başka işlemlere benzerdir. Ancak, veri detayı almak için kriter olarak belirtilen verinin, sadece bir tanesi seçilir. Örneğin, ilgili verinin id'si kullanılarak seçim işlemi yapılabilir.
SELECT * FROM tablo_adi WHERE id=3;
Yukarıdaki örnekte, "tablo_adi" isimli tablodaki "id" sütununda "3" değeri olan veri seçilir. Bu verinin tüm özellikleri listelenir ve detay görüntülenir.
Veri detayı alma işlemi de diğer işlemlere benzer şekilde yapılabilir. Veri detayı alma işlemi için seçilen bu veriler, bir View
sınıfında gösterilebilir.
MySQL veritabanından veri detayını almak, MVC uygulamalarında temel bir işlemdir. Veri detayına erişmek için, öncelikle ilgili verinin seçilmesi gerekir. Bu işlem, SELECT
sorgusu kullanılarak gerçekleştirilir. Veri detayları daha sonra bir View
sınıfında gösterilebilir.
6.1. İlgili Verinin Seçilmesi
Veritabanından ilgili bir veriyi seçmek için SELECT sorgusu kullanılır. Bu sorgu, veritabanındaki belirli bir tablodan belirli bir satır veya sütun seçmek için kullanılır.
Bir örnek sorgu aşağıdaki gibi görünebilir:
SELECT Sorgusu |
---|
SELECT * FROM urunler WHERE urunid=5; |
Bu sorgu, "urunler" tablosundaki "urunid" sütununda değeri 5 olan satırı seçecektir. "*" sembolü tüm sütunları seçmek anlamına gelir.
Bu sorgu sonucunda, sadece belirtilen satırın verileri görüntülenecektir. Veritabanındaki tüm verileri görüntülemek için SELECT * ifadesi kullanılabilir.