Originariamente inviato da Violence77
La situazione è questa, ho una tabella fatta così.
id, nome, cognome, indirizzo, città, telefono, email
tutti i campi tranne id sono campi varchar, ora ho questa necessità,
ho creato un piccolo form dove ho messo degli input per il nome, cognome, indirizzo, città, felefono e email, e questo form mi permette in pratica di gestire una ricerca multipla si questa tabella. Esempio voglio cercare i nome che iniziano per mor, con il cognome che inizia per abr, e con il numero di telefono che inizia per 335.
Da quello che ho letto in giro (sono alle prime armi quindi ne so molto poco) bisogna che creo degli indici fulltext per ogni campo del quale voglio fare una ricerca, quindi ho provveduto a modificare la mia tabella tramite
ALTER TABLE an_abbonati ADD FULLTEXT nometext (nome)
ALTER TABLE an_abbonati ADD FULLTEXT cognometext (cognome)
ecc ecc.
Ora il problema e il consiglio che cerco è nell'implementazione di una ricerca fatta come ho spiegato sopra. Mi hanno detto che sarebbe meglio fare una cosa di questo tipo
(SELECT nome,cognome FROM an_abbonati WHERE MATCH (nome) AGAINST('mor*' IN BOOLEAN MODE)) UNION (SELECT nome,cognome FROM an_abbonati WHERE MATCH (cognome) AGAINST('abr*' IN BOOLEAN MODE))
però il risultato non è quello sperato, come posso risolvere la situazione per favore ?
Altra cosa, come posso costruire la query in php facendo i controlli sui campi del form che l'utente può compilare ???? Tramite una serie di controlli If ? if (!empty($_post[nome])) ecc ...
Può funzionare in questo modo o ci sono vie migliori secondo voi ??
Grazie a tutti