wordpress сортировка по производителям материалов различной вложенности

O7
На сайте с 13.10.2010
Offline
7
611

Добрый день!

У меня возникла такая проблема. На сайте на главной странице организована сортировка материалов по производителям. Так вот для сортировки выбираются материалы только до второго уровня вложенности, дальше 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 = '

<li><a href="/cat/'.$c['id'].'?producer='.$e[id].'">'.$c['caption'].'</a>';

$r = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$c['id']." AND isactive=1");

$items .= $item;

}

}

if($items != ''){

echo '

<div class="rightr">

<div class="news">

<div class="l-catt" align="left">

<div class="l-catt-it">

<b><span>'.$e['caption'].'</span></b>';

echo (mysql_num_rows($result_1) > 0) ? '

<ul>' : '';

echo $items;

echo (mysql_num_rows($result_1) > 0) ? '</ul>

</li>

' : '';

echo '';

echo ' </div>

</div>

</div>

</div>';

}

}

}

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 '

<div class="rightr">

<div class="news">

<div class="l-catt" align="left">

<div class="l-catt-it">

<div align="center"><b><a href="/cat/'.$e['id'].'">'.$e['caption'].'</a></b></div>';

$res = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$e['id']." AND isactive=1 ORDER BY outorder ASC");

echo (mysql_num_rows($res) > 0) ? '

<ul>' : '';

while($c = mysql_fetch_assoc($res)){

echo '

<li><a href="/cat/'.$c['id'].'">'.$c['caption'].'</a>';

$r = mysql_query("SELECT * FROM catalog WHERE parent_id = ".$c['id']." AND isactive=1");

}

echo (mysql_num_rows($res) > 0) ? '<li class="produce_link"><a href="?catalog='.$e['id'].'">По производителям</a></li>

</ul>

' : '';

echo '';

echo ' </div>

</div>

</div>

</div>';

}

}

?>`

W
На сайте с 05.09.2011
Offline
7
#1

не это ли условие виновато ? "AND isactive=1 ORDER BY outorder ASC"

O7
На сайте с 13.10.2010
Offline
7
#2

А что с ним нужно сделать, я в php новичок можно ли сделать неограниченный уровень вложенности?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий