Innanzitutto grazie mille per la risposta.
Dunque, provo a rispondere a una domanda per volta...
Si, se si dovesse presentare la necessit� di aggiungere categorie, andrebbero aggiunte le relative righe alle due pagine, ma essendoci stata una progettazione a monte prima di realizzare il sito, penso che questa eventualit� sia scongiurata. Anche perch� andrebbero modificati anche tutti i css per la visualizzazione sui vari dispositivi, non solo il funzionamento della pagina😅.
Non capisco onestamente cosa intendi per fattorizzare la pagina tenendo 20 righe.
La variabile result deve contenere qualcosa del tipo: "Animali/Natura/Ambiente%Carte%Dadi%Party Game%" in base, appunto, alle varie categorie selezionate.
Da ci� forse si evince perch� l'OR non avrebbe fatto al mio caso: non mi avrebbe permesso di cercare un gioco che abbia pi� categorie selezionate contemporaneamente e solo quelle (ad esempio un gioco con categorie "Animali/Natura/Ambiente", "Carte", "Dadi" e "Party Game").
Cosa intendi per professionale? Che qualcuno mi ha pagato per farlo? Se la domanda � questa, la risposta � no, si tratta del sito web dell'associazione ludoco/sportiva di cui sono presidente ed avendo qualche base di informatica mi sono cimentato nella realizzazione del sito cos� da evitare di far spendere soldi all'associazione (lo so bene, il lavoro di un professionista � di tutt'altra portata, ma i costi sarebbero stati davvero eccessivi per il bilancio associativo).
Per il momento non si sente la necessit� di un sito multilingue, � solo in italiano, ma qualora l' associazione diventasse tanto international da renderlo necessario andrei a modificare proprio l'impianto generale del sito: se ora per i giochi � sufficiente una tabella del db, contenente tutte le caratteristiche (nome, editore, nun. Giocatori, tipo, categorie, meccaniche, etc etc), in quel caso mi servirebbero pi� tabelle relazionali in ciascuna delle quali metterei le varie traduzioni e andrei a modificare la pagina cos� da fare le query in base alla lingua selezionata.
Un piccolo ma grande aggiornamento: ho trovato una soluzione al problema, pi� in modo logico che propriamente informatico.
Visto che il problema si presentava solo se "%Carte%", "%Dadi%" e "%Destrezza/Abilit�%" erano immediatamente anticipate da un qualsiasi carattere (per esempio se la variabile result era "%Avventura/Esplorazione%Carte%") sono andato a modificare tutte le variabili create con js al click, aggiungendo semplicemente uno spazio bianco alla fine (visto che nella tabella ogni categoria � divisa da una virgola e lo spazio bianco) facendola diventare in questo modo:
Codice PHP:
var lg1document.getElementById("cat1").value;    resultlg1 "% "
E, una volta che result viene passata alla pagina "Ricerca_chiavi.php" ho fatto un trim della variabile GET eliminando gli eventuali spazi bianchi creati all'inizio e alla fine della variabile per la mancata della selezione della prima check box (si, result = result + lg2 + "%" se il � la prima categoria non � selezionata crea un " " all'inizio della variabile finale)