Запрос MySQL:
SELECT title,alias,parent FROM '._prefix.'categories WHERE (language = \''._language.'\' || language = \'all\') && status = \'published\' ORDER BY rank ASC
Результат (из phpMyAdmin):
title | alias | parent Home | home | 0 Todo | todo | 0 Multiuser| todo_mu | 21 Modulsys | todo_mod | 21
PHP:
while($c = mysql_fetch_array($category_result)) { if($c['parent'] == 0) { $output .= '<li><a href="'._rewrite_string.$c['alias'].'" title="'.$c['title'].'">'.$c['title'].'</a>'; $output .= '<ul>'; mysql_data_seek($category_result,0); while($d = mysql_fetch_array($category_result)) { $output .= '<li class="space_left"><a href="'._rewrite_string.$c['alias'].'/'.$d['alias'].'" title="'.$d['title'].'">'.$d['title'].'</a>'; $output .= '</li>'; } $output .= '</ul>'; $output .= '</li>'; } }
Это должно создать список категорий, подобный этому
кот 1
кошка 2
кот 3
но он генерирует нечто подобное
кот 1
использование mysql_fetch_array в другое (вложенное) без использования mysql_data_seek приводит к прерыванию после вызова вложенного mysql_fetch_array. он выводит только cat1 и ничего больше.
пожалуйста, предоставьте мне решение, спасибо