Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892

    query di selezione su array

    Salve a tutti.

    Sto costruendo un motore di ricerca che mi estrae record da db Mysql. Vorrei che la query tirasse fuori tutte le occorrenze di almeno uno dei termini cercati (quindi utilizzando l'operatore OR).

    Fin qui tutto ok. Il problema è questo: io utilizzo la funzione explode per crearmi un array composto da ognuno dei termini inseriti nel form dall'utente, ma io non so a priori quante parole inserirà, quindi non conosco la dimensione che avrà il mio array. Come faccio ad eseguire la query?

    p.e.: SELECT * FROM miatabella WHERE miocampo LIKE '%valore[1]%' OR miocampo LIKE '%valore[2]%' miocampo LIKE '%valore[3]%'...

    Spero di essermi fatto capire e vi ringrazio

  2. #2
    Fai una cosa del genere:

    Codice PHP:
    //la selezione del campo e della tabella
    $query .= "SELECT campo FROM tabella WHERE ";

    //un ciclo in cui esplodi l'array che contiene la ricerca dell'utente
    foreach ($search as $value) {
       
    $query .= "titolo LIKE '%".$value."%' OR ";
    }

    //per concludere la query senza fare operazioni ma senza errori
    $query .="0"
    Ovvero scomponi la query in 2 parti, quella relativa ai campi e le tabelle e quella con la clausola where.

    Spero di essere stato chiaro, fammi sapere!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

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.