Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Kategori ve Alt kategori listelemek

Arkadaşlar ben kendi kategorilerimi aşagıdaki şekilde php ile otamatik olarak nasıl listeletebilirim acaba tek seferde hem ana kategori hemde alt kategori olarak bir haber ekliyecegimzaman kategorisili select menüden seçmek ve ekle dedigimde eklenmesini istiyorum panelde herşey tamam ama bunu bu şekilde yapamadım resimdeki gibi birşey yapmak istiyorum

http://e1207.hizliresim.com/z/6/9dkf4.jpg

<select name="site_durumu" id="site_durumu">
                      <option value="ana">kategori</option>
                      <option value="alt">-kategori1</option>
                      <option value="alt">-kategori2</option>
                      <option value="alt">-kategori3</option>
<option value="ana">kategori</option>
                      <option value="alt">-kategori1</option>
                      <option value="alt">-kategori2</option>
                      <option value="alt">-kategori3</option>
   			          </select>



Bunlarda veritabanı

CREATE TABLE IF NOT EXISTS `altkategori` (
  `k_id` int(30) NOT NULL AUTO_INCREMENT,
  `altkategori` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `anakategori` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `altkategoribaglanti` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `aciklama` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `tarih` datetime NOT NULL,
  PRIMARY KEY (`k_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=15 ;

--
-- Tablo döküm verisi `altkategori`
--

INSERT INTO `altkategori` (`k_id`, `altkategori`, `anakategori`, `altkategoribaglanti`, `aciklama`, `tarih`) VALUES
(11, 'Autocat', 'Grafik', 'Autocat', 'Autocat çizimleri', '2012-07-01 07:42:03'),
(12, 'Donanım', 'Bilgisayar', 'Donanim', 'Donanım Bileşenleri', '2012-07-01 07:42:32'),
(13, 'Satılık Evler', 'Ev', 'Satilik_Evler', 'Alıcı Aranıyır', '2012-07-01 07:45:58'),
(14, 'Kiralık Evler', 'Ev', 'Kiralik_Evler', 'Kiracı Aranıyor', '2012-07-01 07:46:19');

-- --------------------------------------------------------

--
-- Tablo için tablo yapısı `anakategori`
--

CREATE TABLE IF NOT EXISTS `anakategori` (
  `k_id` int(30) NOT NULL AUTO_INCREMENT,
  `anakategori` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `anakategoribaglanti` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `aciklama` varchar(256) COLLATE utf8_turkish_ci NOT NULL,
  `tarih` datetime NOT NULL,
  PRIMARY KEY (`k_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=12 ;

--
-- Tablo döküm verisi `anakategori`
--

INSERT INTO `anakategori` (`k_id`, `anakategori`, `anakategoribaglanti`, `aciklama`, `tarih`) VALUES
(9, 'Bilgisayar', 'Bilgisayar', 'Bilişim Sistemleri', '2012-07-01 07:41:14'),
(10, 'Grafik', 'Grafik', 'Çizimler', '2012-07-01 07:41:39'),
(11, 'Ev', 'Ev', 'Ev İlanları', '2012-07-01 07:45:32');

Ekli Dosyalar

+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • zyber adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    9 yıl önce güncellenmiş
    57 cevap - 25 soru
    <?php
    /*
    php isimli bir veritabanı içinde tblkategori isimli aşağıdaki tablo ve kategorileri açarsan örnek çalışacaktır.
    
    CREATE TABLE IF NOT EXISTS `tblkategori` (
      `id` int(6) NOT NULL auto_increment,
      `parent_id` int(4) NOT NULL default '0',
      `ad` varchar(255) NOT NULL,
      PRIMARY KEY  (`id`),
      KEY `parent_id` (`parent_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
    
    INSERT INTO `tblkategori` (`id`, `parent_id`, `ad`) VALUES
    (1, 0, 'Kategori 01'),
    (2, 0, 'Kategori 02'),
    (3, 0, 'Kategori 03'),
    (4, 1, 'Kategori 01 A'),
    (5, 1, 'Kategori 01 B'),
    (6, 1, 'Kategori 01 C'),
    (7, 4, 'Kategori 01 AA'),
    (8, 4, 'Kategori 01 AB'),
    (9, 4, 'Kategori 01 AC');
    
    */
    
    $id = $_GET['id'];
    $db_host="localhost";
    $db_user="root";
    $db_pass="123456";
    $veritabani_ad="php";
     
    $baglanti = mysql_connect($db_host,$db_user,$db_pass) or die('Bağlantı yok : '.mysql_error());
    mysql_select_db($veritabani_ad) or die('Veritabanı yok yada ulaşılamadı : '.mysql_error());
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET COLLATION_CONNECTION = 'utf-8'");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="tr" lang="tr" dir="ltr">
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style type="text/css">
    <!-- 
    html,body,div,span,h1,h2,h3,p,hr,br,img,form,input,ul,li,a {
     margin:0;
     padding:0;
     border:0;
    }
    ul li {list-style:none;}
    body {
     font-family:Helvetica, Arial, Tahoma, sans-serif;
     font-size:13px;
     color:#444;
     line-height:1.5em;
    } 
    #kapsayici {
    background:#fff;
    margin:10px auto;
    width:960px;
    border:1px solid #dfdfdf;
    min-height: 700px;
    }
    -->
    </style>
    </head>
    <body>
    <div id="kapsayici">
    <form action="select.php" method="post">
    <?php
    echo fonkSelect($selected=2, $parent_id=0, $derinlik=1);
    ?>
    </form>
    </div>
    </body>
    </html>
    <?php
    mysql_close($baglanti);
    
    function fonkSelect($selected, $parent_id=0, $derinlik=1) {
    $html = '';
    if($derinlik == 1) {
    $html .= "<select name=\"kategori\">\n";
    $html .= "<option value=\"0\">Seçiniz</option>\n";
    }
    $sql = "SELECT id, parent_id, ad FROM tblkategori WHERE parent_id='$parent_id' ORDER BY id ASC";  
    $result = mysql_query($sql);        
    while($row=mysql_fetch_array($result)) {
    $id = $row['id'];
    $ad = $row['ad'];
    $secim = ($selected == $id) ? " selected=\"selected\"" : "";
    $html .="<option value=\"$id\"$secim>".str_repeat(' ',$derinlik).$ad."</option>\n";
    $html .= fonkSelect($selected, $id, $derinlik+3);
    }
    if($derinlik == 1)
    $html .=  "</select>\n";
    return $html;
    }
    ?>
    


    Örnek php dosyası
    http://www.upload.gen.tr/d.php/www/w35opmfg/select.rar.html


    http://sqlfiddle.com/#!2/5096c/1
    • Quandrostr adlı üyenin fotoğrafı Quandrostr
      Çok Sagol yardımın için kardeş sorunu hallettim sayende.
      9 yıl önce yazılmış

Cevaplar

Hiç cevap bulunamadı.