Os hago un resumen, con el código para hacer pruebas y que resuelve mi problema, por si sirve a alguien en el futuro....
Código MySQL:
Ver original
(1, 0, 'percha', 1),
(2, 0, 'libro', 2),
(3, 0, 'tenedor', 2),
(4, -1, 'camisa', 2),
(5, 4, 'camisa azul', 2),
(6, 0, 'flores', 2),
(7, 0, 'camisa rosa', 2),
(8, 4, 'camisa verde', 2);
Esta consulta es la que extrae el resultado como quiero.
La idea es que existen líneas que son PADRE y su valor id_PADRE es -1
Luego sus hijos en la columna id_PADRE apunta al id de su padre.
El objetivo es que al listar los hijos siempre salgan a continuación del padre independientemente del orden.
Haciendo una búsqueda recurrente desde Php podía, pero era un lio a la hora de paginar y ver totales de líneas etc.
Esta solución funciona.
GRACIAS