Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

PHP de Alt Kategori Mantığı

Merhabalar kardeşlerim; bir konuda yardıma ihtiyacım var müşterime hazırlamış olduğum bir Vize tasarımı var her bir şeyini kodladım bitirdim bir sıkıntısı yok ama müşterim şu şekilde bir istek istiyor Ülkerler kısmı var tasarım da ortalama da 88 tane ülke var bunların ayrı ayrı vize tipleri var örneğin Almanya vizesine girdiğimiz de Almanya' nın vize tipleri İngiltere vizesine girdiğimiz de İngiltere' nin vize tipleri ben bunu bir türlü beceremedim daha önce böyle bir proje yapan kardeşim var mı bana destek olabilecek şimdiden herkese teşekkür ederim saygılarımla

2

Cevaplar (2)

İşlem devam ediyor, lütfen bekleyin..
Emre BÜYÜKDURMUŞ
Doğru Cevap
@ebykdrms
3 hafta önce

Veritabanınızda ülkeleri bir tabloda tutuyorsunuz ve ülkeler tablonuzda en temel olarak şu alanlar bulunuyor:

id, ulke_adi


Vizeleri ayrı bir tabloda tutuyorsunuz ve bu vizeler tablonuzda da temel olarak şu alanlar bulunuyor:

id, ulke_id, vize_tipi


Burada ulkeler tablonuzun id değeri ile vizeler tablonuzun ulke_id değeri arasında bire çok ilişki var. Yani bir ülkenin birçok vizesi olabilir ama bir vizenin sadece bir ülkesi olabilir. (Her ülkenin kendine özel farklı vize tipleri var)


Herhangi bir ülkeye vize eklemek istediğinizde o ülkenin id değerini vizeler tablonuzdaki ulke_id alanına yazıyorsunuz.

INSERT INTO vizeler (ulke_id, vize_tipi) VALUES (?, ?)

veya

INSERT INTO vizeler SET ulke_id=?, vize_tipi=?


Herhangi bir ülkenin tüm vize türlerine erişmek istediğiniz zaman şöyle bir MySQL sorgunuz oluyor:

SELECT * FROM vizeler WHERE ulke_id=?


Belli bir ülkenin vizelerini alırken ülkeler tablonuzdan da bazı verilerle birleşip gelmesini istiyorsanız:

SELECT ulkeler.ulke_adi, vizeler.* FROM vizeler
INNER JOIN ulkeler ON vizeler.ulke_id = ulkeler.id
WHERE vizeler.ulke_id=?

(vizeler tablosundaki tüm alanlar ile ulkeler tablosundaki ulke_adi alanı tek bir tabloda birleşik şekilde, belli bir ülkenin tüm vizeleri çağırılıyor.)


Herhangi bir ülkeyi silmek istediğinizde yine yukarıdaki sorguyla, ülkeye bağlı vize var mı yok mu diye kontrol ediyorsunuz. (Çünkü ülke silinirse ona bağlı vizeler boşta kalır. Ama her vizenin mutlaka bir ülkesi olmalıdır.) Eğer ülkeye bağlı vize(ler) varsa silme işleminden önce bu vizeler de silinsin mi diye soruyorsunuz. (veya bu onayı önceden de "bağlı vizeler varsa onlar da silinsin mi?" diyerek alabilirsiniz) Eğer bu vizelerin de silinmesi isteniyorsa belli bir ülkeye ait tüm vizelerin silinmesi için şu sorguyu kullanıyorsunuz:

DELETE FROM vizeler WHERE ulke_id=?

Sonra da ülkeyi siliyorsunuz tabi...

DELETE FROM ulkeler WHERE id=?


Belli bir vizeyi güncellemek istediğinizde direkt o vizenin id'sini kullanıyorsunuz.

UPDATE vizeler SET vize_tipi=? WHERE id=?


Veya belli bir ülkenin tüm vizelerinde aynı değişikliği yapmak istiyorsanız:

UPDATE vizeler SET vize_tipi=? WHERE ulke_id=?



Cevapla @vefamedia3 hafta önce
@ebykdrms, güzel hocam bu güzel hoş anlatım için teşekkür ederim sizleri facebooktan ekledim kabul edebilir misiniz Mehmet DABANIYASSI diye geçiyor profilim
İşlem devam ediyor, lütfen bekleyin..
Murat Gül (TA5MRG)
@Voodoo
3 hafta önce [Güncellendi]

Ulkeler tablosu da şöyle olsun


id, ulke

1 Almanya

2 İngiltere

3 Fransa


Vize tipleri adında bir tablo oluştur.

id, ulke_id, vize_turu olarak kolonlar oluştur.

Örnek olarak


id ulke_id vize_turu

1 1 a turu

2 1 b turu

3 2 a turu

4 3 c turu


Bu durumda Almanyaya girdiğinde a turu ve b turu olmak üzere 2 vize gösterilir.






Cevapla @vefamedia3 hafta önce
teşekkür ederim hocam bir deneyiyim
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın

Yabancı Dizi Arşivi