Ho un dubbio da molto tempo e non sono mai riuscito a risolvere purtroppo...
Nel caso volessi creare un qualcosa da memorizzare nel database e correlarlo in qualche modo a più opzioni, come potrei strutturare il tutto anche per una facile ricerca e mostra dei risultati completi?
Supponiamo di avere un messaggio che va correlato a 2 categorie ed immaginiamo di avere queste tre tabelle:
categories:
messages:Codice:cat_id cat_name 1 Categoria_1 2 Categoria_2
messages_correlation:Codice:message_id message_content 1 Testo 2 Test_2_Messaggio
Facendo un qualcosa di simile:Codice:correlation_mid correlation_cid 1 1 2 1 2 2
Riuscirei a mostrare tutti i messaggi e poi affianco mostrare le categorie in cui il messaggio è stato aggiunto? Sto pensando a tanti metodi!Codice:SELECT c.*, m.* FROM messages_correlation LEFT JOIN categories AS c ON (correlation_cid = c.cat_id) LEFT JOIN messages AS m ON (correlation_mid = m.message_id) GROUP BY m.message_id
Ho fatto anche quello di creare un campo dopo separo con un apposito separatore le categorie, poi con explode() le mostre, faccio un foreach per mostrare il nome tramite l'id e poi con implode, le mostro con eventuale link, ma se dovessi fare una ricerca parziale in cui sono interessate MENO categorie di quelle in cui il post è inserito, non potrei fare la ricerca in MySQL!
Attendo consigli su come strutturare questo sistema, perché mi sarebbe molto utile...

LinkBack URL
About LinkBacks
