Selam php ile recursive menü için alttaki gibi bir kod kullanıyorum yanlız 120 satırda Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in hatası alıyorum 120. satıda şu $toplamkayit1=mysql_num_rows($sql);
sorun ne acaba?
<?php
include("baglan.php");
?>
<?php
$query = mysql_query("SELECT * FROM yenikad");
$toplamkayit=mysql_num_rows($query);
global $toplamkayit1;
$toplamkayit1=0;
function altkatsay($gelenid)
{
$toplamkayit1=0;
$sql = mysql_query("SELECT * FROM yenikad WHERE id = ’$gelenid’");
$toplamkayit1=mysql_num_rows($sql);
if (isset($toplamkayit1))
{
return $toplamkayit1;
}
else
{
$toplamkayit1=0;
}
return $toplamkayit1;
}
//////////////////////////////////// TARIK TURAN alt kategori sayma fonksiyonu sonu
//get all rows
$query = mysql_query("SELECT * FROM yenikad");
while ( $row = mysql_fetch_assoc($query) )
{
$menu_array[$row['id']] = array(‘id’ => $row['kat_id'],’baslik’ => $row['kategori_ad'],’altid’ => $row['ust_id']);
}
//recursive function that prints categories as a nested html unorderd list
function generate_menu($parent)
{
$has_childs = false;
//this prevents printing ‘ul’ if we don’t have subcategories for this category
global $menu_array;
//use global array variable instead of a local variable to lower stack memory requierment
foreach($menu_array as $key => $value)
{
if ($value['altid'] == $parent)
{
//if this is the first child print ‘<ul>’
if ($has_childs === false)
{
//don’t print ‘<ul>’ multiple times
$has_childs = true;
echo "\n<ul>\n";
}
$topla=altkatsay($key); // Gelen sayfanýn alt sayfalarýnýn olup olmadýðýna bakýlýyor…
// ilgili kategorinin altsayfalarý varsa topla>0 ve anasayfa ($key=1) dýþýndaki deðerlere class=ok (css e benim eklediðim alt menülerin olduðunu gösteren oklu arkaplan ekleniyor ve link yapýsý liste elemanýn içine ekleniyor.)
if (isset($topla) && ($topla>0) && ($key<>1))
{echo "<li><a href=\"index.php?kid=" . $value['id'] . "\" class=\"ok\">" . $value['baslik'] . "</a>";}
else
{echo "<li><a href=\"index.php?kid=" . $value['id'] . "\">" . $value['baslik'] . "</a>";}
generate_menu($key);
//call function again to generate nested list for subcategories belonging to this category
echo "</li>\n";
}
}
if ($has_childs === true){ echo "</ul>\n";}
}
//generate menu starting with parent categories (that have a 0 parent)
generate_menu(0); // fonksiyon çaðrýlýyor…
echo"</div>";
echo"</body></html>";
?>
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 17:15:24 -->-> Daha önceki mesaj 15:53:51 --
http://cssmenumaker.com/ buradaki acordiyon menüleri alttaki kodlarla yaptım
veritabanı yapısı şu şekilde idi id ust_id kategori_ad umarım başka arayanlara yardımcı olur
<?php
echo"<div id=\"cssmenu\">";
//////////////////////////////////// alt kategori sayma fonksiyonu
$sql = mysql_query("select * from yenikad where ust_id = '$id' ORDER BY `kategori_ad` ASC");
$toplamkayit=mysql_num_rows($sql);
global $toplamkayit1;
$toplamkayit1=0;
function altkatsay($gelenid)
{
$toplamkayit1=0;
$sql = mysql_query("select * from yenikad where ust_id = '$id' ORDER BY `kategori_ad` ASC");
$toplamkayit1 = mysql_num_rows($sql);
if (isset($toplamkayit1))
{
return $toplamkayit1;
}
else
{
$toplamkayit1=0;
}
return $toplamkayit1;
}
//get all rows
$query = mysql_query("SELECT * FROM yenikad");
while ( $row = mysql_fetch_assoc($query) )
{
$menu_array[$row['id']] = array('id' => $row['kat_id'],'baslik' => $row['kategori_ad'],'altid' => $row['ust_id']);
}
//recursive function that prints categories as a nested html unorderd list
function generate_menu($parent)
{
$has_childs = false;
//this prevents printing ‘ul’ if we don’t have subcategories for this category
global $menu_array;
//use global array variable instead of a local variable to lower stack memory requierment
foreach($menu_array as $key => $value)
{
if ($value['altid'] == $parent)
{
//if this is the first child print ‘<ul>’
if ($has_childs === false)
{
//don’t print ‘<ul>’ multiple times
$has_childs = true;
echo "\n<ul>\n";
}
$topla=altkatsay($key); // Gelen sayfanýn alt sayfalarýnýn olup olmadýðýna bakýlýyor…
// ilgili kategorinin altsayfalarý varsa topla>0 ve anasayfa ($key=1) dýþýndaki deðerlere class=ok (css e benim eklediðim alt menülerin olduðunu gösteren oklu arkaplan ekleniyor ve link yapýsý liste elemanýn içine ekleniyor.)
if (isset($topla) && ($topla>0) && ($key<>1))
{echo "<li><a href=\"index.php?kid=" . $value['id'] . "\" class=\"ok\">" . $value['baslik'] . "</a>";}
else
{echo "<li><a href=\"index.php?kid=" . $value['id'] . "\">" . $value['baslik'] . "</a>";}
generate_menu($key);
echo "</li>\n";
}
}
if ($has_childs === true){ echo "</ul>\n";}
}
generate_menu(0); // fonksiyon çaðrýlýyor…
//echo"$cikti";
echo"</div>";
echo"</body></html>";
?>