Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MySql] Creazione post di ricerca

    Saluti a tutti.
    Sono un bibliotecario e sto lavorando ad un sito che permetta agli utenti di effettuare delle ricerche all'interno del nostro archivio di materiale di storia locale (immagini, video e altro).
    Ho creato un db così strutturato:
    1. una tabella principale ITEM con ID, NOME e NOTE dei vari files;
    2. diverse tabelle di TAGS da attribuire ai files, come TIPO di docum, ANNO, LUOGO, CITTÀ, PERSONAGGI.., struttur con ID e NOME del tag;
    3. una serie di tabelle di connessione tra ITEM e le varie TAGS, una per ogni tabella tags: CONN_ANNO, CONN_CITTA, CONN_TIPO, ecc.., struttur con l'id dell'item e l'id dello specifico tag.

    Ora, ho creato un form a ricerca libera in cui l'utente può inserire quante parole desidera. Tramite php ho pensato di separare le varie parole in modo da ottenere un array, e fin qui tutto bene, ma poi come posso passare l'array alla query sql in modo da cercare l'itemid corrispondente al tag espresso da quella parola (ammettendo x semplicità che quella parola corrisponda effettivam ad un tag, ma qui ho già risolto)?
    Suggerimenti?
    Grazie. Nicholas

  2. #2
    Mi spiego meglio.
    Mettiamo che l'utente cerchi le parole "piazza castello". Io trasformo questa stringa nell'array $ricerca = [piazza, castello] e adesso voglio che la query, per ogni elmento di $ricerca, controlli in tutte le tabelle se l'elemento esiste e, se sì, a quale ITEMID è associato:
    SELECT * FROM item
    INNER JOIN COLL_LUOGHI
    ON item.itemid = coll_luoghi.itemid
    AND luogo_nome IN ('$ricerca')
    INNER JOIN ecc.. con le altre tabelle

    Passando l'array in questo modo, però, la query non funziona.
    Dove sbaglio?
    Nicholas

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.