PHP – проблема с вложенным mysql_fetch_array () сводит меня с ума

Запрос 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

  • субкарт 1
  • подкаст 2

кошка 2

кот 3

но он генерирует нечто подобное

кот 1

  • кот 1
  • кошка 2
  • субкарт 1
  • подкаст 2

использование mysql_fetch_array в другое (вложенное) без использования mysql_data_seek приводит к прерыванию после вызова вложенного mysql_fetch_array. он выводит только cat1 и ничего больше.

пожалуйста, предоставьте мне решение, спасибо