Сортировка материалов различного уровня вложен.
На сайте на главной странице организована сортировка материалов по производителям. Так вот для сортировки выбираются материалы только до второго уровня вложенности, дальше 3-ий, 4-ый и т.д. не учитывает. Необходимо решить эту проблему.
Вот код который я так понимаю отвечает за выборку:
//по производителям
if(isset($_GET['catalog'])){
$sql = "SELECT * FROM producer";
$result = mysql_query($sql);
while($e = mysql_fetch_assoc($result)){
//print_r($e);
$sql = "SELECT * FROM catalog WHERE parent_id = '".$_GET['catalog']."' AND isactive=1 ORDER BY outorder ASC";
$result_1 = mysql_query($sql);
$items = '';
while($c = mysql_fetch_assoc($result_1)){
$sql = "SELECT * FROM catalog WHERE parent_id = '".$c['id']."' AND isactive=1 AND producer='".$e['id']."' ORDER BY outorder ASC";
$result_2 = mysql_query($sql);
if(mysql_num_rows($result_2) > 0){
$item = '
$r = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$c['id']." AND isactive=1");
$items .= $item;
}
}
if($items != ''){
echo '
'.$e['caption'].'';
echo (mysql_num_rows($result_1) > 0) ? '
- ' : '';
echo $items;
echo (mysql_num_rows($result_1) > 0) ? '
echo '';
echo '
';
}
}
}
else{
$sql = "SELECT * FROM catalog WHERE parent_id = 0 AND isactive=1 ORDER BY outorder ASC";
$result = mysql_query($sql);
while($e = mysql_fetch_assoc($result)){
//print_r($e);
echo '
'.$e['caption'].'
';$res = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$e['id']." AND isactive=1 ORDER BY outorder ASC");
echo (mysql_num_rows($res) > 0) ? '
- ' : '';
- '.$c['caption'].'';
- По производителям
while($c = mysql_fetch_assoc($res)){
echo '
$r = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$c['id']." AND isactive=1");
}
echo (mysql_num_rows($res) > 0) ? '
echo '';
echo '
';
}
}
?>