Arkadaşlar Merhaba,
Sınırsız kategorileme yaptım. Selectbox' a çekiyorum. Ancak bir ana kategorinin alt kategorisini yazdırırken başına (-) veya (boşluk) eklettiremedim. Veritabanı kategori tablosu ve alanları böyle;
kID,
kategori,
kategori_ID
Görsel linki aşağıdadır.
http://hizliresim.com/2ZGQ8L
kod satırları da böyle..
<?php
header('content-type:text/html; charset=utf-8');
$ip = "localhost";
$user = "root";
$password = "";
$db = "db";
try {
$bag = new PDO("mysql:host=$ip;dbname=$db", $user, $password);
$bag->exec("SET CHARSET UTF8");
} catch (PDOException $e) {
die("hata var");
}
$query = "SELECT * FROM kategori order by kID";
$goster = $bag->prepare($query);
$goster->execute();
$toplamSatirSayisi = $goster->rowCount();
$tumSonuclar = $goster->fetchAll();
$altKategoriSayisi = 0;
for ($i = 0; $i < $toplamSatirSayisi; $i++) {
if ($tumSonuclar[$i]['kategori_ID'] == "0") {
$altKategoriSayisi++;
}
}
echo "<select>";
for ($i = 0; $i < $toplamSatirSayisi; $i++) {
if ($tumSonuclar[$i]['kategori_ID'] == "0") {
Kategoriler($tumSonuclar[$i]['kID'], $tumSonuclar[$i]['kategori'], $tumSonuclar[$i]['kategori_ID']);
}
}
echo "</option>";
function Kategoriler($kID, $kategori, $kategori_ID, $string=0) {
global $tumSonuclar;
global $toplamSatirSayisi;
$altKategoriSayisi = 0;
for ($i = 0; $i < $toplamSatirSayisi; $i++) {
if ($tumSonuclar[$i]['kategori_ID'] == $kID) {
$altKategoriSayisi++;
}
}
echo "<option>";
echo "<a href='$kategori.html'> $kategori ";
if ($altKategoriSayisi > 0) {
echo "($altKategoriSayisi)";
}
echo "</a>";
if ($altKategoriSayisi > 0) {
echo "\n";
for ($i = 0; $i < $toplamSatirSayisi; $i++) {
if ($tumSonuclar[$i]['kategori_ID'] == $kID) {
Kategoriler($tumSonuclar[$i]['kID'], $tumSonuclar[$i]['kategori'], $tumSonuclar[$i]['kategori_ID']);
}
}
}
echo "</option>";
}
?>
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 00:51:20 -->-> Daha önceki mesaj 00:21:45 --
yardımcı olabilecek arkadaşım yokmu?