Le WITH RECURSIVE
déclaration/méthode est applicable dans PostgreSQL et Sybase (et peut-être quelques autres, je pense), alors peut-être que vous pouvez regarder ceci à la place :
http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html
Il devrait vous montrer quelques approches utilisant MySQL (et une ou deux en PHP, juste pour mentionner -- je sais que ce n'est pas dans votre liste de balises)