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?