Сложности с do while php

Помогите пожалуйста разобраться вот в чем: Есть выпадающее меню (категории - подкатегории) содержимое которого выводится из БД. Из одной таблицы выводятся "категории" меню из второй таблицы "подкатегории" соответствующие нужной категории. Суть проблемы: я не могу понять где ошибка в коде, сейчас выводятся все категории, но подкатегория выводится только одна и она одинаковая для всех категорий.

$result2 = mysql_query("SELECT * FROM category_db $qury_start_num",$link);
$result3 = mysql_query("SELECT DISTINCT * FROM type_tovar_db WHERE type_category='Vodonagrevateli' ",$link);
If (mysql_num_rows($result2) > 0 & mysql_num_rows($result3) > 0) {

    $row2 = mysql_fetch_array($result2);
    $row3 = mysql_fetch_array($result3);

    do {
       echo '
       <li>
           <a href="#">'.$row2["name_category_tovar"].'</a>
           <ul class="sub-menu">
               <li>
                    <a href="#">'.$row3["name_type_tovar"].'</a>
               </li>
           </ul>
       </li>
       ';
    } while ($row2 = mysql_fetch_array($result2));
}

Ответы (1 шт):

Автор решения: Dmitry Kozlov

$row3 получается только 1 раз и не перебирается в цикле. Соответственно и выводится одно и то же

→ Ссылка