Veritabanını su sekilde olusturdum:
CREATE TABLE `yerler` ( `id` int(11) NOT NULL auto_increment, `yer_adi` text NOT NULL, `alt_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `alt_id` (`alt_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
Veri girisi ise su sekilde:
INSERT INTO `yerler` VALUES (1, 'Adana',0); INSERT INTO `yerler` VALUES (2, 'Antalya',0); INSERT INTO `yerler` VALUES (3, 'Alanya',2); INSERT INTO `yerler` VALUES (4, 'Kemer',2); INSERT INTO `yerler` VALUES (5, 'Ankara',0); INSERT INTO `yerler` VALUES (6, 'Side',2);
diyelim ki Antalya (id=2) sehrinin ilçelerinden bir tanesine Alanya ekleyeceğim, Alanya'yı eklerken alt_id'yi 2 yapıyorum ve bu ilçenin bağlı olduğu ilin Antalya olduğu belli oluyor. Aynı sekilde sehir eklerken de, alt_id'yi 0 olarak bırakıyorum il olduğu anlasılsın diye. Veri girisi yaparken ise formda listelemenin su sekilde olması için nasıl bir kod kullanmalıyım?
Adana
Antalya
>>Alanya
>>Kemer
>>Side
Ankara
Ek bilgi:Asağıdaki kod yerler tablosundaki bütün verileri listeletiyor, amacım ilçelerin, bağlı olduğu ilin altına gelmesi.
<?
echo "<select name=yer>";
$sc=mysql_query("select * from yerler");
while ($cek=mysql_fetch_array($sc)):
echo "<option value=\"$cek[id]\">$cek[yer_adi]</option>";
endwhile;
echo "</select>";
?>