mi spiego meglio con la geografia. Metto fra parentesi id_superiore.

codice:
1.MONDO (0)
|__2.Europa (1)
|  |__7.Spagna (2)
|  |__8.Italia (2)
|  |  |__10.Sardegna (8)
|  |  |  |__12.Oristano (10)
|  |  |  |__13.Cagliari (10)
|  |  |  |__14.Sassari (10)
|  |  |  |__15.Nuoro (10)
|  |  |
|  |  |__11.Lazio (8)
|  |
|  |__9.Francia (2)
|
|__3.Asia (1)
|__4.Africa (1)
|__5.America (1)
|__6.Oceania (1)
capito la struttura?

ora... per inserire dipende dove vuoi mettere la categoria...
se devi inserire MONDO farai...

mysql_query("INSERT INTO categorie (nome, idcat) VALUES('MONDO','0');");

se invece devi inserire Europa... dovrai sapere che sta sotto MONDO... e che MONDO ha id=1

mysql_query("INSERT INTO categorie (nome, idcat) VALUES('Europa','1');");

capito?