Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: script di ricerca

  1. #11
    Originariamente inviato da quecha
    Però vedo sempre tutti i campi del db.....come mai?
    Vedi sempre tutti i dati del DB perché la ricerca è troppo estesa!

    Se vai a pescare da tutte le colonne che poi metti in select, ed utilizzi una query come quella che te hai scritto, in cui sostanzialmente, allarghi la ricerca per tutte le stringhe che possono contenere la chiave di ricerca, il risultato non sarà mai preciso al 100%.
    Penso proprio che hai necessità di rivedere lo script di ricerca, e - non sapendo come è strutturato - forse l'intero script.
    C'è un filtraggio per eventuali campi lasciati vuoti??
    Se questo non c'è, ed usando in maniera massiccia il LIKE con tutti quei %, ogni stringa di ognuna delle colonne selezionate che ha uno spazio tra una parola e l'altra viene restituita dalla query.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  2. #12
    Utente di HTML.it L'avatar di quecha
    Registrato dal
    Oct 2007
    Messaggi
    176
    per i campi vuoti non ho ancora messo filtraggio.
    Mi consigli di togliere il %?
    Vedere il mondo in un granello di sabbia
    e il cielo in un fiore di campo,
    tenere l'infinito nel palmo della mano e l'eternità in un'ora.
    William Blake

  3. #13
    Originariamente inviato da quecha
    per i campi vuoti non ho ancora messo filtraggio.
    Mi consigli di togliere il %?
    Non ti consiglio di togliere il %.
    Ti consiglio di capire prima quello che vuoi che i tuoi utenti possano cercare.
    Non so se hai notato, ma molti siti che hanno uno spazio di ricerca interno, presentano anche un link tipo "ricerca avanzata" per avere filtraggi ulteriori.
    Ma appunto, si parla di filtraggi, non di aumento esponenziale dei risultati.
    Parti dalla fine.
    Perché un utente dobvrebbe usare il tuo motore di ricerca?
    Per trovare documenti/informazioni digitando poche (se non addirittura una) parola chiave.
    Cerca di guidare il tuo utente a scegliere solo alcuni parametri oculati e possibilmente che uno ne esclouda un altro.
    Per capirci... mi sembra poco probabile che un utente della tua applicazione, se non si ricorda qualcosa di un cliente si possa ricordare la ragione sociale.
    Magari con il cognome faresti subito un filtraggio più deciso.
    Se aumenti le possibilità di ricerca, fai in modo che una escluda l'altra.
    Fai quindi una stringa SQL di base, e le clausole di WHERE concatenate solo se il campo risulta effettivamente riempito.

    Ti ribadisco poi che l'uso del carattere jolly % nella stringa SQL è strategico.
    Riprendi il codice che ti ho postato prima.
    Codice PHP:
    $chiave "barba"

    $sql1 "SELECT * FROM tabella WHERE chiave = '%$chiave' "

    $sql2 "SELECT * FROM tabella WHERE chiave = '$chiave%' "

    $sql3 "SELECT * FROM tabella WHERE chiave = '%$chiave%' "
    La query 1, restituirà il record se nella colonna CHIAVE c'è una parola che finisce per BARBA, oppure la parola BARBA stessa.
    Per intenderci: SBARBA lo restituisce, BARBAGIANNI no.
    Viceversa, nella query 2. Il record restituito è quello di BARBAGIANNI e non SBARBA.
    La query 3, invece, è quella che darà maggiori risposte, ma proprio per questo la meno precisa.
    Ti verranno infatti restituiti sia i record che hanno BARBA, SBARBA, BARBAGIANNI, ma anche RABARBARO.
    Questi sono esempi per iniziare e per fare un motore di ricerca di una discreta qualità.

    Per fare un motore di ricerca con i controco****ni, si dovrebbero usare le colonne FULLTEXT.
    Nella pillola del mitico Mtx_Maurizio viene spiegato come implementare un motore veramente con i fiocchi!
    LINK

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #14
    ri quoto il mio lento e pesante eregi... posso metterne quanti ne voglio... -.-
    Cerco Sviluppatori Flash: http://forum.html.it/forum/showthread.php?threadid=1418906

  5. #15
    Ed io riquoto quanto detto nell'altro post, linkando pure la mia ultima risposta.

    LINK
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.