posso dire che fare due tabelle è un casino inutile:
fai una tabella Unica:
codice:
CREATE TABLE `Gallery_Item` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`type` VARCHAR(255) NOT NULL,
`mime` VARCHAR(50),
`width` INT,
`height` INT,
`alt` TEXT,
`captionTitle` TEXT NOT NULL,
`date` DATE,
`author` VARCHAR(255),
`left` INT,
`right` INT,
`thumbnail` TINYINT,
`id_parent` INT DEFAULT NULL,
`tipo` ENUM('Immagine','Categoria') NOT NULL,
PRIMARY KEY (`id`)
)
CHARACTER SET utf8;
Un paio di cose:
1. se crei dei campi con un nome, non usare solo l'iniziale di quello che conterrà (tipo w ed h) è vero che in questo caso si capisce, ma generalmente i campi devono avere una parola che li identifica in modo decisivo.
2. Mi pareva inutile mettere 2 campi, non obbligatori, come title e caption, quindi ne ho fatto uno unico obbligatorio, captionTitle appunto, se Categoria sarà il title, altrimenti la caption.
3. Non sapendo che andava in type ho creato un campo tipo che è un ENUM ed indica se è immagine o categoria
4. non ho capito che dovrebbe essere Thumbnail, cosa rappresenta quel numero?
Infine, lascia che ti dica che sono per il minor numero di query possibili.
Se vuoi fae un albero sempre visibile ho fatto una cosa simile qualche thread indietro http://forum.html.it/forum/showthrea...readid=1270451
Se invece vuoi fare l'albero con le voci chiuse che si aprono con JS ed una chiamata AJAX devi vedere che è una cosa un po' più difficile, ma comunque simile a quello nel thread.