Вот, лови. Тут синтаксис на Т-SQL, но под другую СУБД переделать легко. На хабре есть статья про рекурсию. там и про MySQL рекурсия показана.
go
with myrec (ProdName,id,idParent,levell) as
(
Select CONVERT(varchar(255), ProdName),id,idParent,0 from Products where idParent=-1
union ALL
Select CONVERT(varchar(255),d.ProdName+'\'+a.ProdName) as ProdName,a.id,a.idParent,levell+1 from Products a
inner join myrec d on d.id=a.idParent)
select b.ProdName as ProdName,b.id,b.idParent,levell from Products a
right join myrec b on a.id = b.idparent
where b.id=(select idparent from Products where id=35)
go