Salve a tutti e grazie per l'attenzione. Quello che propongo qui è un problema e non la soluzione, non sono programmatore quindi i molti post che ho letto prima di postare mi risultano... coriacei.
Ho un form con circa una 20 di campi che si convalida in php e il cui scopo è quello di aggiornare i metadati all'interno di un file JPEG. Due di questi campi sono "categoy" e "subcategories". il primo è necessariamente un codice di 3 lettere maiuscole tipo WEA, ACE, HUH, eccetera che seleziono con un select. l'altro è in definitiva un text area.
I dati provengono da un file di testo come questo:
ho postato solo una delle 17 categorie per farmi capire in realtà il file di testo è moooooolto più lungo anche perchè categorie come SPO (sport hanno più di 100 voci annidiate.codice:WAR=16000000, unrest, conflicts and war, Agitazioni,Conflitti, Guerre, 16001000, act of terror, Terrorismo, 16002000, armed conflict, Conflitto armato, 16003000, civil unrest, Disordini, 16003001, revolutions, Rivoluzione, 16003002, rebellions, Ribellione, 16003003, political dissent, Dissenso, 16003004, religious conflict, Conflitti religiosi, 16003005, social conflict, Conflitti sociali, 16004000, coup d'etat, Colpo Stato, 16005000, guerrilla activity, Guerriglia, 16005001, bioterrorism, Bioterrorismo, 16005002, bombings, Attentato dinamitardo, 16006000, massacre, Massacro, 16006001, genocide, Genocidio, 16007000, riots, Sommossa, 16008000, demonstration, Manifestazione, 16009000, war, Guerra, 16009001, civil war, Guerra civile, 16009002, international military intervention, Intervento militare internazionale, 16009003, prisoners and detainees, Prigionieri Guerra, 16010000, conflict (general), Conflitti (generico), 16010001, peacekeeping force, Peacekeeping, 16011000, crisis, Crisi, 16012000, weaponry, Armamenti,
Come potete vedere ogni categoria è definita da questa stringa
in cui "WAR" è il valore che mi interessa mentre tutta la stringa è l'etichettacodice:WAR=16000000, unrest, conflicts and war, Agitazioni,Conflitti, Guerre,
le sottocategorie invece sono identificate da una stringa tipo:
esistono anche sotto-sotto categorie tipo:codice:16001000, act of terror, Terrorismo,
tutte le voci del file sono gerarchizzate in base al codice numerico a 7/8 cifre la cui struttura semplificata è questa:codice:16010000, conflict (general), Conflitti (generico), 16010001, peacekeeping force, Peacekeeping,
quindi serve una select semplice per selezionare la "category" tra le 17 possibili, una altra select dipendente dalla prima ma con a sua volta select annidiate per scegliere una o più "subcategories" e per finire una textarea per raccogliere tutte le "subcategories" aggiunte.codice:1000000 1001000 1001001
Il form deve essere inviato solo alla fine quando tutto è completo quindi le operazioni di cui sopra devono essere fatte non in php (l'unico linguaggio che mastico appena).
Il file di testo di cui vi parlo non è un'idea mia ma lo derivo da una tassonomia rilasciata da un consorzio per la standardizzazione www.iptc.org che periodicamente rilascia gli agiornamenti in formato xml (un vero bordello, se siete curiosi ecco il link: Topicset)
che io mi ripulisco a mano!!!!
Bel casino vero!!!! Per il momento io mi sono fatto una paginetta in PHP che mi visualizza il file di testo e mi copio i valori che mi interessano nel form in un'altra pagina. Soluzione empirica abbastanza squallida ecco perchè mi permetto di sottoporvi il problema.
Chiunque avesse voglia di rispondere a questo invito ha tutta la mia stima e ammirazione per l'improba sfida.