Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    ricerca su db per keywords

    Devo realizzare un modulo di ricerca, con un campo di input in cui l'utente inserisce un nome, e quindi dovrebbe partire la ricerca sul db, e restituire i risultati in cui la parola digitata è presente.
    Ho già realizzato una cosa del genere, per un altro lavoro.
    L'utente digita un nome per cercare un hotel.
    Questo è il codice che ho usato:
    Codice PHP:
    $result mysql_query("SELECT *, MATCH (`hotel`) AGAINST('$cerca' IN BOOLEAN MODE) AS tot FROM `hotel` WHERE MATCH (`hotel`) AGAINST ('$cerca' IN BOOLEAN MODE) AND `show_hide` != '$sh' ORDER BY tot DESC");
    while (
    $row mysql_fetch_array($result)) {
    $idhk $row["id"]

    dove hotel è sia il nome della tabella che quello del campo con i nomi degli alberghi.
    Funziona perfettamente.
    Trovandomi nella necessità di fare la medesima cosa in un altro sito, ho utilizzato il medesimo codice:
    Codice PHP:
     $result mysql_query("SELECT *, MATCH (`nome_arte`) AGAINST('$searchname' IN BOOLEAN MODE) AS tot FROM `artisti` WHERE MATCH (`nome_arte`) AGAINST ('$searchname' IN BOOLEAN MODE)");
    while (
    $row mysql_fetch_array($result)) {
    $idart $row["id"];

    dove artisti è la tabella e nome_arte il campo di tabella su cui fare la ricerca.
    Solo che adesso, benché ovviamente faccia i test con parole certamente presenti nel db, non mi dà alcun risultato!
    Come è possibile? Dov'è la cavolata che mi sfugge?
    metatad
    graphic & web design

  2. #2
    ...sto malefico match against...

    Se la parola cercata è in più del 50% delle righe, non viene trovata.
    Se la parola è una stop word, non viene trovata.
    Eccetera...

    Usa un normale like e risolvi il problema, non hai perdita di performance apprezzabili se MySql è ben configurato


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    hai ragione...
    metatad
    graphic & web design

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.