Php ve mysql ile sınırsız kategorileme yapabilmek için aşağıdaki kodları inceleyebilirsiniz.

<?php

function kategoriler($id='0')
{
	$query	=mysql_query("SELECT *FROM kategoriler WHERE uid='$id' ORDER BY sira");

	if (mysql_num_rows($query))
	{
		echo ($id ? "<ul>":"");

		while ($satir=mysql_fetch_object($query))
		{
			echo "<li>$satir->kat_adi".kategoriler($satir->id)."</li>";
		}

		echo ($id ? "</ul>":"");
	}

}

?>

 

echo yazan kısımlar yerine php deki string birleştirici operatörü yardımıyla bir değişken içerisine eşitleyip return ile de çıktı alabilirdik.

 

<?php
function kategoriler($id='0')
{
	$query	=mysql_query("SELECT *FROM kategoriler WHERE uid='$id' ORDER BY sira");

	$string.=($id ? "<ul>":"");

	while ($satir=mysql_fetch_object($query))
	{
		$string.="<li>$satir->kat_adi".kategoriler($satir->id)."</li>";
	}

	$string.=($id ? "</ul>":"");

	if (mysql_num_rows($query))
	{
		return $string;
	}
}
?>