Tasarım Kodlama

PHP Çoklu Checkbox ile Veritabanına Kayıt

Bir formda genellikle bir grup ilgili onay kutusuna ihtiyaç duyulan durumlar vardır. Onay kutusu grubunun avantajı, kullanıcının birden fazla seçenek seçebilmesidir. (bir gruptan yalnızca bir seçeneğin seçilebildiği bir radyo grubunun aksine daha çok öğe seçme imkanı sunar).

Bu yazıda çoklu checkbox kullanımını ve bunları veritabanına nasıl kaydedeceğimizi öğreneceğiz.

Veritabanı Oluşturma

Veritabanı kaydı için öncelikle veri tabanı aşağıdaki gibi gösterelim.

Veritabanını yukarıdaki gibi oluşturmak için aşağıdaki gibi SQL cümlemizi yazıyoruz.

ayar.php sayfasının oluşturulması

Veritabanı bağlantısı için ayar.php dosyası oluşturup gerekli PDO bağlantısını yapıyoruz. tasarimkodlama isimli bir veritabanına bağlanan $dbh isimli bir veritabanı bağlantısı oluşturuyoruz.

 

Checkboxların Veritabanından Okunması

Veri tabanından hobileri çekip listelemek için gerekli SQL sorgusu aşağıdaki gibi oluşturuyoruz.

coklu-checkbox.php adında bir sayfa oluşturup aşağıdaki bağlantıyı oluşturuyoruz.

Bu kısımda dikkat etmemiz gereken nokta 23. ve 24. satırlardaki durumdur. oSatır 23de hobi[] dizi olarak gönderilmektedir. Genellikle checkbox verileri dizi olarak gönderilmektedir. Satır 24de ise hobilerin id numaraları value içinde yazdırılmaktadır.

Ekran çıktısı aşağıdaki gibi olacaktır.

checkbox çoklu kayıt php
checkbox çoklu kayıt php

Checkboxların Veritabanına Kaydedilmesi

Seçili olan checkboxları ve kişi aldını veritabanına kaydetmek için normalizasyon dışında bir yöntem kullanacağım(Bazı durumlarda normalizasyon kullanılmaz). Seçili olan hobilerin id değerleri value olarak post edilmiş olacak.

Hobilerin gönderilip gönderilmediğini test etmek istiyorsanız. kayit.php dosyasına şimdilik aşağıdaki gibi bir kod yazıp, sayfayı coklu-checkbox.php sayfasından çalıştırıp kontrol edin.

Çıktı aşağıdaki gibi görünecektir.

$_POST[“hobi”] öğresinin bir dizi barındırdığını görüyoruz. Öğleri PHPde kullanılan birleştirme ifadesi ile birleştirip kisiler tablosunua virgüllerle kaydedebiliriz. Bu işlemi yapan kayit.php dosyası aşağıdaki gibi olacaktır.

Örnek kayıt yapıldıktan sonra veritabanındaki görünüm aşağıdaki gibi olacaktır.

Checkbox Kayıtlarının Listelenmesi

Checkbox için verileri veritabanından nasıl çekeceğimizi, nasıl kaydedeceğimizi öğrendik. İsterseniz aşağıdaki örnek tabloyu kullanarak veritabanına kayıtlı olan checkbox verilerini listeleyebilirsiniz.

Kayıtları iki kademeli olarak çektik. İlk sorgu bloğunda kişileri, ikinci sorgu bloğunda(burada while içindeki sorgu) hobileri döndürerek td etiketi içinde listeledik. Ekran çıktısı aşağıdaki gibi oluştu.

PHP Veritabanına Çoklu Kayıt Yapma(checkbox)
PHP Veritabanına Çoklu Kayıt Yapma(checkbox)

3 yorum

  • Teşekkürler. MySQL için bu konuda çözüm ararken yazınıza rastladım. MySQL için çözüm içeren ilgili bir link var mı acaba.

  • sql cümlesini nereye yazıyor? daha öncesinde bir veritabanı olusturuluyor mu? nasıl?
    eminim bu konunun bir başı vardı bi önceki sayfa veya gecen hafta işlenen konu devamı gibi gidiyordur ama herhangi bir link yok… ortasından dalmışsınız konuya ve zaten bilen kişilere anlatmışsınız sanki…
    yeni başlayanlar kilingona bakar gibi bakar ancak… pek işe yarar bi paylaşım değil genel için..