Öncelikle soruyla beraber detayları da eksiksiz bir şekilde dile getirdiğiniz için tebrik ve teşekkür ederim. Öncelikle tablolarınızı
il: id il
ilce: id il_id ilce
koy: id ilce_id koy
şeklinde yapmanızı tavsiye ederim.
Kodları yukarıdaki hale getirdiğiniz de yine 3 sorgu içinde
select id,il ......
select id,ilce where il_id=
select id,koy where ilce_id=...
şeklinde alt alta 3 sorgu ile halledilebilir ancak döngü içinde böyle sorguları tekrar ettirerek veritabanına yüklenmek hoş karşılanacak bir durum olmadığından kodları yine teke düşürmek gerekir.
$sorgu=mysql_query("SELECT * FROM `il` WHERE `il_id`='".$id."'");
$veriler=array();
while($veri_al=mysql_fetch_assoc($sorgu)) {
$il=$veri_al['il'];
$ilce=$veri_al['ilce'];
$koy=$veri_al['koy'];
$id=$veri_al['id'];
$veriler[$id[$il[$ilce[$koy]]]]=true;
}
şeklinde bi diziye tüm verileri depo ettikten sonra
foreach($veriler as $id=>$il_bilgileri) {
foreach($il_bilgileri as $il=>$ilce_bilgileri) {
echo $id.' '.$il.'<br />';
foreach($ilce_bilgileri as $ilce=>$koy_bilgileri) {
echo '>'.$ilce.'<br />';
foreach($koy_bilgileri as $koy=>$true) {
echo '>>'.$koy.'<br />';
}
}
}
}
}
biraz karışık bi kod oldu aslında ama şu an aklıma geldiğinden ince eleyip sık dokuyamadım. şu halde görüntü
Adana
>Seyhan
>>Büyükçıldırım
>>Büyükdikili
>Sarıçam
>>Aydınyurdu
>>Hasanbeyli
şeklinde listeler. Biraz rahat olabilmesi için değişken sayısını olabildiğince yüksek tuttum, değişken sayısını azaltırsanız sizin menfaatinize olur