beyazgolge adlı üyeden alıntı:
mesajı görüntüle
kısaca hepsi burda .com daki sol kategori menusunu canlandır kafanda ona benzicek..
29
●3.612
CREATE TABLE `kategori` ( `id` int(11) NOT NULL auto_increment, `kategoriadi` varchar(255) NOT NULL, `pozisyon` int(11) NOT NULL default '1', `anakatid` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `kategoriler` ( `id` int(11) NOT NULL AUTO_INCREMENT, `k_adi` varchar(255) DEFAULT NULL, `altk_id` int(11) DEFAULT NULL, `icerik` text, PRIMARY KEY (`id`), KEY `altk_id` (`altk_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;Mesela bu şekilde bir tablo oluşturursun, Ana Kategorilerin altk_id sini 0 yaparsın, ve ana kategorileri altk_id si 0 olanlar diye sıralattırırsın, bu sıralatmayı yaparkende bir fonksiyon oluşturup her sıraladığı ana kategori altında fonksiyon ile alt kategorisi var mı diye bakalım, bunuda şu şekilde yapacağız ana kategoriyi sıralattık ve o ana kategorinin id sini alıp bu sefer altk_id si sıralamış olduğumuz ana kategorinin id si ile aynı olan kategorileri çekeceğiz.

Tabi Dogru Anlamışsam Konuyu
Şimdi Kategori adlı bir tablomuz var birde alt_kat diye bir kategorimiz var şu şekilde yaparsak daha açıklayıcı olur sanırım$katdon = mysql_query("select * from kategoriler ");
while($yaz=mysql_fetch_array($katdon)){
$id = $yaz['id'];
$katadi = $yaz['katadi'];
echo "<a href='kategori.php?id=$id'>$katadi</a>"; //şimdi Tüm Ana Kategorileri Dondurduk
$row = mysql_fetch_array(mysql_query("select * from alt_kat where ana_kat_adi='$id'"));//Şimdi Burda İse Şuan Dönen Kategorinin Altları Donecek Örnegin 1 numaralı id donuyorsa alt_kat_adi dan 1 olanları çekiyoruz
$katid = $row['id'];
$altkatadi = $row['alt_kat_adi'];
echo "<a href="kategoriler.php?id=$id&altkat=$katid""
}