Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Query per motore di ricerca

    Ciao a tutti,

    Sto programmando un motore di ricerca interno per il mio database mysql di articoli. Se cerco una parola all'interno di un campo di testo tipo WHERE `testo` LIKE 'qui' non mi viene restituito niente, e da varie prove effettuate su phpmyadmin mi sono accorto ke se cerco like 'qui' ed il testo è "qui" allora mi viene trovato, ma se invece il testo è "qui in città" ad esempio, la query non mi da risultati. Se invece cerco LIKE '%qui%' allora mi restituisce si i record all'interno del cui campo testo è presente la parola "qui" ma anche quelli nei quali la parola "qui" è parte di un'altra parola, tipo "quindi". Infatti il segno % per mysql dovrebbe essere un equivalente dell'*. Io però in questo motore di ricerca volevo dare proprio la possibilità di trovare separatamente "qui","qui*" o "quindi" direttamente utilizzando all'occorrenza il simbolo *. Come posso fare ? potrebbe dipendere da qualche opzione o impostazione del campo o della tabella di mysql ?

    Grazie 1000
    SGr33n

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    bhe puoi anche cercare in questo modo:

    SELECT * FROM tabella WHERE campo LIKE '% qui %'
    SELECT * FROM tabella WHERE campo LIKE 'qui %'
    SELECT * FROM tabella WHERE campo LIKE ' qui%'

    Buon divertimento

  3. #3
    Dovrei fare 3 query per ogni ricerca? cmq mi sembra molto strano che non funzioni con un LIKE semplice, no ?
    SGr33n

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non intendevo 3 query, ma potresti decidere ad esempio di cercare una parola, quindi di default cercare la variabile con uno spazio iniziale e finale.

    d'altronde come hai detto tu il % si comporta come l'asterisco.

  5. #5
    si vero e se il qui è l'ultima parola della frase ? tipo "sei venuto qui" non viene trovato questo caso, giusto ?
    SGr33n

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    credo di no, ma allora la query potrebbe essere una cosa del tipo:

    codice:
    SELECT * FROM tabella WHERE campo LIKE '% qui %' OR campo LIKE '% qui' OR campo LIKE 'qui %'
    attento che il like è anche case sensitive.


  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    guarda cosa ho trovato:



    e da qui allora si apre tutto un nuovo mondo, l'utilizzo delle espressioni regolari ...

  8. #8
    Originariamente inviato da gianiaz
    attento che il like è anche case sensitive.
    hm non penso

  9. #9
    Grazie 1000 gianiaz questa è sicuramente la soluzione ma per quel che riguarda quell'[eo] di chiusura cosa vuol dire ? sta a significare che è lo stesso dell'apertura ?
    SGr33n

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Eyescream
    hm non penso
    mmm detto la ca@#ata ...

    Ho letto velocemente dal libro da cui ho preso l'immagine sopra, in effeti leggendo meglio parla di oracle per il case sensitive.

    Sorry

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.