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

Kategori alt kategori listeleme

<?php
$SQL = "SELECT * FROM kategoriler ORDER BY id ASC";
$sorgu=mysql_query($SQL,$connect);

$i=1;
$i2=1;
$i3=1;
$x=0;
$count=mysql_num_rows($sorgu);
echo" <tr>
<td colspan=4 height=2></td></tr>";
while ($record=mysql_fetch_array($sorgu))
{
$id=$record["id"];
$isim=$record["isim"];
if ($x==0) {$renk="#CCCCCC"; $x=1;} else {$renk="#E9E9E9"; $x=0; }
echo" <tr bgcolor=\"#666666\">
<td colspan=4 height=3></td></tr>";
echo" <tr bgcolor=\"$renk\" onMouseOver=\"this.bgColor='#fae7b9';\" onMouseOut=\"this.bgColor='$renk';\">
<td><div align=\"center\"><strong>$i</strong></div></td>
<td><strong>$isim</strong></td>
<td><div align=\"center\"><a href=\"javascript:sil('sil.php?tip=grup&id=$id','2')\"><img src=\"images/sil.gif\" alt=\"Kaydı ve resim/dosya sil\" border=\"0\"></a></div></td>
<td><div align=\"center\"><a href=\"duzenle.php?tip=grup&id=$id\"><img src=\"images/edit.gif\" alt=\"Kaydı düzenle\" border=\"0\"></a></div></td></tr>";
$i++;
$i2=1;
}
echo" <tr>
<td colspan=4 height=10></td></tr>";

?>

Yukarıdaki gibi bir kategori listeleme tablom mevcut.Sadece ANA KATEGORİ leri listeliyorum.Buna ana kategorilerin alt kategorilerini de alt kategori ana kategorinin altına gelecek şekilde listeleme yapmak istiyroum.Tabloyu bir türlü tutturamadım.Karıştırdım.Nasıl yapabilirim.Yardımlarınızı bekliyorum.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • irfanevrens adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    21 cevap - 0 soru
    sonsuz kategori mantığında mı olsun yoksa iki kademeli mi istiyorsunuz
  • necmettin adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    80 cevap - 0 soru
    Kategoriler tablosunda 'ebeveyn' adında INT/REAL bir hücre oluştur.
    Ana kategorilerde ebeveyn alanı 0 olsun. Diğerlerinde o alt kategorinin ana kategorisi neyse o olsun.

    Şu iki sorguyla istediklerini alabilirsin:
    SELECT * FROM kategoriler WHERE ebeveyn=0; //ana kategoriler
    SELECT * FROM kategoriler WHERE ebeveyn!=0 ORDER BY ebeveyn; //alt kategoriler, ebeveyne göre sıralanmış olarak.

    Bu durumda kategori listesini örneğin bir <SELECT>e koymak için şöyle birşey yapabilirsin:
    $kat = array();
    $anakat = //SELECT * FROM kategoriler WHERE ebeveyn=0; sorgusundan gelen sonuçlar
    $altkat = //SELECT * FROM kategoriler WHERE ebeveyn!=0 ORDER BY ebeveyn; sorgusundan gelen sonuçlar
    foreach ($anakat as $ana) {
      $kat[] = array($ana['id'], $ana['baslik']); //veya direkt yazdır mesela:
      echo "<OPTION VALUE='{$ana['id']}'>{$ana['baslik']}</OPTION>";
      foreach ($altkat as $alt) {
        echo "<OPTION VALUE='{$alt['id']}'>   {$alt['baslik']}</OPTION>";
      }
    }
    

    Şeklinde tek <SELECT> altında toplayabilirsin.
    • pialfa adlı üyenin fotoğrafı pialfa
      Verdiğin sistemi kullanıyorum farklı bir alanda teşekkür ederim önerin için fakat ben tablo olarak listelemek istiyroum yardımların için teşekkürler
      9 yıl önce yazılmış