Категории на няколко реда

Ticketa

Registered
Имам списък с категории, но искам да ги изкарам по 5 категории на всеки ред - нещо такова:

4827.jpg


В момента кода ми е така;

PHP:
<?php 
ob_start();
echo "<div id=\"menu\">
	<ul>
        <li><a href=\"index.php\" class=\"active\">Начало</a></li>";
			$query = $db->query("SELECT * FROM `category` WHERE `parent_id`='0' ORDER BY `cat_name`;");
			$select = '';
				if(mysql_num_rows($query) > 0) {
					while ($row = mysql_fetch_object($query)){
						$select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row->id}\">{$row->cat_name}</a>";
						$query2 = $db->query("SELECT * FROM `category` WHERE `parent_id`='{$row->id}' ORDER BY `cat_name`;");
						$i='';
						if(mysql_num_rows($query2) > 0) {
							$select .= "<div><ul>";
							while ($row2 = mysql_fetch_object($query2)) {
								$i++;
								$select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row2->id}\">{$row2->cat_name}</a></li>\n";
								if($i == 5) {
									$select .= "</ul><ul>";
								}
							}
							$select .= "</ul></div>";
						}
							$i='';
						$select .= "</li>";
					}
				} else {
					$select .= "Няма категории.";
				}
		echo "{$select}</ul></div>";
?>

Но с тоя код ги разделям само през първите пет, а ако имам 30 категории, тогава нещата седят по друг начин. Първата колона 5 категории, следващата колона е с 15 категории, а трябва да са: 5 | 5 | 5 | 5 | 5 | 5
 
Пробвай така :)

PHP:
<?php 
ob_start();
echo "<div id=\"menu\">
	<ul>
        <li><a href=\"index.php\" class=\"active\">Начало</a></li>";
			$query = $db->query("SELECT * FROM `category` WHERE `parent_id`='0' ORDER BY `cat_name`;");
			$select = '';
				if(mysql_num_rows($query) > 0) {
					while ($row = mysql_fetch_object($query)){
						$select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row->id}\">{$row->cat_name}</a>";
						$query2 = $db->query("SELECT * FROM `category` WHERE `parent_id`='{$row->id}' ORDER BY `cat_name`;");
						$i='';
						if(mysql_num_rows($query2) > 0) {
							$select .= "<div><ul>";
							while ($row2 = mysql_fetch_object($query2)) {
								$i++;
								$select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row2->id}\">{$row2->cat_name}</a></li>\n";
						
								if($i == 5 or $i == 10 or $i == 15 or $i == 20 or $i == 25 or $i == 30)
								{
									$select .= "</ul><ul>";
						
								}
							}
							$select .= "</ul></div>";
						}
							$i='';
						$select .= "</li>";
					}
				} else {
					$select .= "Няма категории.";
				}
		echo "{$select}</ul></div>";
?>
 
или така
PHP:
PHP code:

<?php 
ob_start();
echo "<div id=\"menu\">
        <ul>
        <li><a href=\"index.php\" class=\"active\">Начало</a></li>";
                        $query = $db->query("SELECT * FROM `category` WHERE `parent_id`='0' ORDER BY `cat_name`;");
                        $select = '';
                                if(mysql_num_rows($query) > 0) {
                                        while ($row = mysql_fetch_object($query)){
                                                $select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row->id}\">{$row->cat_name}</a>";
                                                $query2 = $db->query("SELECT * FROM `category` WHERE `parent_id`='{$row->id}' ORDER BY `cat_name`;");
                                                $i='';
                                                if(mysql_num_rows($query2) > 0) {
                                                        $select .= "<div><ul>";
                                                        while ($row2 = mysql_fetch_object($query2)) {
                                                                $i++;
                                                                $select .= "<li><a href=\"modules.php?m=shop&s=catalog&cID={$row2->id}\">{$row2->cat_name}</a></li>\n";
                                                
                                                                if($i%5 == 0)
                                                                {
                                                                        $select .= "</ul><ul>";
                                                
                                                                }
                                                        }
                                                        $select .= "</ul></div>";
                                                }
                                                        $i='';
                                                $select .= "</li>";
                                        }
                                } else {
                                        $select .= "Няма категории.";
                                }
                echo "{$select}</ul></div>";
?>
 
@ dakata__92, в твоя случай не ми върши работа. Няма да променям файловете всеки път. Това като вариант го знам.

@ M1tq96, в момента ползвам твоя вариант и работи. +1
 

Горе