- Aşağıdaki örnekte sql sorgularını ve pdo kısmını kendinize göre editleyebilirsiniz.
- getKategori() fonksiyonuna parametre olarak hangi kategori idyi verirseniz altındaki kategorileri ul-li şeklinde listeler, 0 verirseniz parent=0 olan en üst kategorilerden başlar
- Eğer pdo değişkeninizi yani $baglan fonksiyon içinde görmezse fonksiyonun içinde $Sql in üstüne
global $baglan; tanımı yapabilirsiniz.
<?php
function getKategori($parent)
{
$Sql = $db->query("Select id, baslik From kategoriler Where durum='1' And parent='$parent' Order By id Asc");
$has_childs = false;
while (list($kat_id, $baslik) = $db->fetchAll($Sql))
{
if ($has_childs === false)
{
$has_childs = true;
$GLOBALS['Kategori'] .= '<ul>';
}
$GLOBALS['Kategori'] .= '
<li>'.$baslik.'
';
getKategori($kat_id);
$GLOBALS['Kategori'] .= '</li>';
}
if ($has_childs === true)
{
$has_childs = false;
$GLOBALS['Kategori'] .= "</ul>";
}
return $GLOBALS['Kategori'];
}
echo getKategori('0');
?>
<?php
function getKategori($parent)
{
global $baglan;
$has_childs = false;
while (list($kat_id, $baslik) = $baglan->query("SELECT * FROM katagoriler Where parent_id='$parent' Order By id Asc", PDO::FETCH_OBJ)->fetchAll())
{
if ($has_childs === false)
{
$has_childs = true;
$GLOBALS['Kategori'] .= '<ul>';
}
$GLOBALS['Kategori'] .= '
<li>'.$baslik.'
';
getKategori($kat_id);
$GLOBALS['Kategori'] .= '</li>';
}
if ($has_childs === true)
{
$has_childs = false;
$GLOBALS['Kategori'] .= "</ul>";
}
return $GLOBALS['Kategori'];
}
echo getKategori('0');
?>Kodlarınızı yukarıdaki gibi kendi siteme uyarladım ancak $baslik değiskeninin oldugu satır için aşağıdaki hatayı veriyor.
"
Recoverable fatal error: Object of class stdClass could not be converted to string in
ilanlar.php on line
19 "