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

Kategori ve Alt kategori

Ben kategori ve alt kategori oluşlturnak istiyorum buraya kadar gelebildim ama dogrumu emin degilim buna ek olarak birde "kategori ve alt kategori ekleme silme " olayını yapmak istiyorum görünümünün ise

Ana Kategori 1
--Alt kategori 1
--Alt kategori 2
--Alt kategori 3
Ana Kategori 2
--Alt kategori 1
bu şekilde birşey olması lazım yardımlarınızı bekliyorum


CREATE TABLE IF NOT EXISTS `kategoriler` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `kategori` text NOT NULL,
 `anakat_id` int(11) NOT NULL,
 PRIMARY KEY (`id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

INSERT INTO `kategoriler` (`id`, `kategori`, `anakat_id`) VALUES
 (1, 'Web Programlama', 0),
 (2, 'PHP', 1),
 (3, 'ASP', 1),
 (4, 'Web Tasarim', 0),
 (5, 'CSS', 4);


<html>
 <head>
 <title>Kategori ve Alt Kategori Sistemi</title>
 </head>
 <style>
 .altkat {margin-left:20px;}
 </style>
 <body>
 <?PHP

$baglanti=mysql_connect("localhost","root","");
 mysql_select_db("test",$baglanti);

$sql="SELECT * FROM kategoriler WHERE anakat_id='0'";
 $sorgu=mysql_query($sql);
 while($katyaz=mysql_fetch_array($sorgu)){

echo "<div clas='kat'>$katyaz[kategori]</div>";
 $sqlx="SELECT * FROM kategoriler WHERE anakat_id='$katyaz[id]'";
 $sorgux=mysql_query($sqlx);
 while($altkatyaz=mysql_fetch_array($sorgux)){

echo "<div class='altkat'>$altkatyaz[kategori]</div>";

}
 }

?>
 </body>
 </html>
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 1
    siyahbeyaz adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    472 cevap - 20 soru
    kategori eklemek icin

    <form action="gonder.php" type="post">
    <select name="anakat_id">
    <option value="0">Ana Kategori </option>
    <?
    $sql="SELECT * FROM kategoriler WHERE anakat_id='0'";
     $sorgu=mysql_query($sql);
     while($katyaz=mysql_fetch_array($sorgu)){
    
    echo "<option value=\"$katyaz[id]\">$katyaz[kategori]</option>";
     $sqlx="SELECT * FROM kategoriler WHERE anakat_id='$katyaz[id]'";
     $sorgux=mysql_query($sqlx);
     while($altkatyaz=mysql_fetch_array($sorgux)){
    echo "<option value=\"$altkatyaz[id]\">$altkatyaz[kategori]</option>";
    
    }
     }
    ?>
    </select>
    <br />
    kategori adı:<br/>
    <input type="text" name="kategori"><br />
    <button type="submit">gönder</button>
    



    gonder.php
    <?
    include("baglanti.php");
    
    @mysql_query("insert into kategoriler (kategori,anakat_id) values ('$_POST[kategori]','$_POST[anakat_id]') ");
    echo "Eklendi..";
    
    ?>
    
    • dassdaf adlı üyenin fotoğrafı dassdaf
      Bunu oluşturdum

      CREATE TABLE IF NOT EXISTS `kategoriler` (
       `id` int(11) NOT NULL AUTO_INCREMENT,
       `kategori` text NOT NULL,
       `anakat_id` int(11) NOT NULL,
       PRIMARY KEY (`id`)
       ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
      
      INSERT INTO `kategoriler` (`id`, `kategori`, `anakat_id`) VALUES
       (1, 'Web Programlama', 0),
       (2, 'PHP', 1),
       (3, 'ASP', 1),
       (4, 'Web Tasarim', 0),
       (5, 'CSS', 4);


      Bunuda çıkmasını istedigim yere "<?php include ("kategoriler.php")?>" şeklinde ekledim

      <html>
       <head>
       <title>Kategori ve Alt Kategori Sistemi</title>
       </head>
       <style>
       .altkat {margin-left:20px;}
       </style>
       <body>
       <?PHP
      
      include("baglan.php");
      
      $sql="SELECT * FROM kategoriler WHERE anakat_id='0'";
       $sorgu=mysql_query($sql);
       while($katyaz=mysql_fetch_array($sorgu)){
      
      echo "<div clas='kat'>$katyaz[kategori]</div>";
       $sqlx="SELECT * FROM kategoriler WHERE anakat_id='$katyaz[id]'";
       $sorgux=mysql_query($sqlx);
       while($altkatyaz=mysql_fetch_array($sorgux)){
      
      echo "<div class='altkat'>$altkatyaz[kategori]</div>";
      
      }
       }
      
      ?>
       </body>
       </html>




      Son olarakta bunu upload edip çalıştırdım

      <?
      include("baglan.php");
      
      @mysql_query("insert into kategoriler (kategori,anakat_id) values ('$_POST[kategori]','$_POST[anakat_id]') ");
      echo "Eklendi..";
      
      ?>
      
      <form action="kategoriekle.php" type="post">
      <select name="anakat_id">
      <option value="0">Ana Kategori </option>
      <?
      $sql="SELECT * FROM kategoriler WHERE anakat_id='0'";
       $sorgu=mysql_query($sql);
       while($katyaz=mysql_fetch_array($sorgu)){
      
      echo "<option value=\"$katyaz[id]\">$katyaz[kategori]</option>";
       $sqlx="SELECT * FROM kategoriler WHERE anakat_id='$katyaz[id]'";
       $sorgux=mysql_query($sqlx);
       while($altkatyaz=mysql_fetch_array($sorgux)){
      echo "<option value=\"$altkatyaz[id]\">$altkatyaz[kategori]</option>";
      
      }
       }
      ?>
      </select>
      <br />
      kategori adı:<br/>
      <input type="text" name="kategori"><br />
      <button type="submit">gönder</button>



      Fakat kategori eklemeye girince daha birşey yapmadan eklendi yazısı görünüyor herhangi bir kategori ekliyorum eklemiyor ve veritabanına phpmyadminden girip bakktıgımda ise bir eklenemeyen kategorinin 4-5 tane boş veri kaydı yaptıgını gördüm şimdi bu sorunu nasıl çözebilirim acaba
      10 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      guzel kardesim.
      gonder.php

      include("baglan.php") kısmını silin

      $baglanti=mysql_connect("localhost","root","");
      mysql_select_db("test",$baglanti);


      kodunu ekleyin... mysqle baglanmadan veri ekleyemezsiniz..
      10 yıl önce yazılmış
    • dassdaf adlı üyenin fotoğrafı dassdaf
      baglan.php nin içertigi bu şeki,lde zaten yani veritabanına baglanıyor baglanmasa boş veriyi dahi eklemez sanırım ama bunun başka yerde bir sorunu varsa çözemedim


      <?php
      
      //////////////////////////////
      
      // SUNUCU BAĞLANTI AYARLARI //
      
      //////////////////////////////
      
      
      
      $conn = mysql_connect("localhost","kadi","sifre");
      
      $vt = mysql_select_db("kadi");
      
      $turkce= mysql_query("SET NAMES 'latin5'");
      
      ?>
      10 yıl önce yazılmış
    • dassdaf adlı üyenin fotoğrafı dassdaf
      Yanlışlık bu kısımdaymış bende yeni gördüm
      <form action="kategoriekle.php" type="post">

      bununla degiştirdim
      <form action="kategoriekle.php" method="post">

      şuan sorunsuz çalışıyor sagolun
      10 yıl önce yazılmış
    • siyahbeyaz adlı üyenin fotoğrafı siyahbeyaz
      </form> tagını kapatmayı unutmusumdur ondan sorun cıkartıormus :D
      10 yıl önce yazılmış

Cevaplar

  • uls adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    65 cevap - 10 soru
    Zaten yapmışsın, nerde takıldığını anlayamadım. Buraya kadar geldiysen düzenleme/silme problem olmaz. Eğer sonsuz kategorileme yapmaya çalışıyorsan, ona göre bir cevap verebilirim. Kendin araştırmak istersen de recursive bir fonksiyonla yapacaksın.