[Risolto] [php] Cercare stringhe nome cognome

Ciao a tutti,
mi capita la solita cosa strana con le query php.
La spiego con un esempio.

Autore: cerco Manzoni --> tutto ok escono tutti i record in nel cui campo autore è presente la stringa manzoni

Autore: cerco alessandro --> tutto ok escono tutti i record in nel cui campo autore è presente la stringa alessandro e quindi quasi tutti quelli di prima

Autore: cerco alessndro manzoni --> non esce nulla perché “bibliograficamente” l’autore è indicato come manzoni, alessandro. Con quella cavolo di virgola.

Esiste un metodo semplice per fare la query senza “scomporre” la stringa di input in sotto stringhe e poi fare la query con un AND o alla fine sarò costretto a fare così.

E se dovessi per forza fare così quale sarebbe il metodo migliore per avere da alessandro menzoni due stringhe $autore1 = “alessandro” e $autore2 = “manzoni” ?

Purtroppo la soppressione dei bibliotecari non posso prenderla in considerazione come ipotesi

:lol:

$autore = explode(" ", $_POST[autore]);
$ricerca = "WHERE autore LIKE '%{$autore[0]}%'";
foreach ($autore as $k=>$v) {
 $ricerca .= " OR autore LIKE '%{$v}%'";
}

// Chiamata al database
SELECT * FROM DatabaseName $ricerca

Dovrebbe funzionare, l’ho scritta al volo e non l’ho provata anche se forse ti restituirà risultati doppi ma non ne sono sicuro, prova e facci sapere!

Ad occhio funziona (ovvero con una display della query il risultato sembra quello voluto).

Adesso cerco di mettere il tutto all’interno del programma e poi, se ho ancora qualche dubbio, ti chiedo ancora.

Si funziona !!!

Grazie molto del tempo speso per noi.
Ciao

P.S.
Non posso mettere [risolto] se qualche amministratore fosse così gentile :wink: