Hocam Gayet Anlaşılır olduğunu düşünüyorum.
3 Tablo Olduğunu Düşünün. Birinde Şehir Tablom Diğerinde Semt Tablom var. Bu iki tabloda Şehir ve semtleri listeliyorum. Üye Buradan Şehrini ve Semtini seçti. User Tablosunda Şehir ve Semt Id ekliyorum.
Hesabını Güncelle Ekranında Şehir ve Semt select tablosu var buralarıda yine tüm şehir ve semtleri select ile sıralıyorum ama üye güncelleme ekranına geldiğinde kendi seçtiği şehir ve semt gelsin ama şehir değişmek isterse diğer tüm şehirleride select içinde görebilsin.
Php Basit bir soru
11
●126
- 01-12-2020, 15:35:24user tablosu
----------------------
il_id
ilce_id
il tablosu
---------------------
id
il_adi
ilce tablosu
-----------------
id
ilce_adi
il_id
güncelle sayfası
illerden seçili olanı getir
select * from il order by il_adi asc foreach($rows as $row){ $selected = ($user->il_id = $row->id) ? 'selected' : ''; echo '<option value="" '.$selected.'></option>'; }ilçe seçimi için
select * from ilce where il_id = $user->il_id order by ilce_adi asc foreach($rows as $row){ $selected = ($user->ilce_id = $row->id) ? 'selected' : ''; echo '<option value="" '.$selected.'></option>'; } - 01-12-2020, 15:39:49Ben anlaşılır olduğunu düşünmüyorum. Şahsım adına yardımcı olmak istiyorum ancak tablo yapınızı anlamlandıramıyorum. Çünkü 3 tablo arasında bağlantıyı nasıl kurduğunuzu kimse bu verilerle anlayamaz. Mesela, semt ve şehir bilgisini bir user'a bağlarken o semt ve şehir tablosunda bir user ID ibaresi de var mı bağlayıcı olarak?Adalente adlı üyeden alıntı: mesajı görüntüle
Zaten en baş probleminiz tablo yapısında bana kalırsa.
Yapmanız gereken şey ise basit, nasıl bir bağlama yaptınız bilmiyorum ama bir bağlama yaptığınızı var sayarak; tüm şehir ve semtleri foreach ile çektirip; o user id'e ait girilmiş semt ve şehrin ID'sini aldıracaksınız. ardından bu foreach içinde bir if-else kondisyonu döndürüp user'ın seçtiği semt ve şehir ID'sine sahip olmayan yerlere html tag'i olan "selected"'i eklemeyeceksiniz.
...
foreach($semt_ids as $semt_id)
if($semt_id == $user_tablosundan_getirdigim_usera_kayitli_olan_se mt_id)
?>
....
-selected tag'i girilmiş html-
else
-selected olmadan girilmiş html tag'i-
...
ile yapmalısınız.
Yine de tekrar söylüyorum: bu basit bir işlem ve tablo yapınız çok hatalı. Bir Senior PHP Dev. olarak söylüyorum: tek bir büyük sorgu her zaman çoklu küçük sorgulardan iyidir.
Bu işlemi 2 tablo ile çözebilirsiniz.