Aiuto query mysql in php

bau

Nuovo Utente
6 Feb 2013
2
0
0
Ciao a tutti, ho questo problema:
Ho un DB con la lista dei libri e devo fare delle ricerche per autore, editore, ecc.
Per ora sto utilizzando questa query:
Codice:
SELECT * FROM libri INNER JOIN tematiche ON libri.codiceBiblio=tematiche.codiceBiblio WHERE autori LIKE '%$autori%' AND titolo LIKE '%$titolo%' AND editore LIKE '%$editore%' AND anno LIKE '%$anno%' AND codiceTematica IN ($input) ORDER BY libri.codiceBiblio

Il primo problema è:
Facendo così ho un sacco di doppioni, come faccio a toglierli e visualizzarne solo uno? (magari vedendo dal campo codiceBiblio che è una chiave primaria).
Ho provato ad usare DISTINCT, ma riesco solo a visualizzare il campo codiceBiblio e nient'altro.

Secondo problema:
Come faccio a dare la possibilità all'utente di cercare anche più di un autore (o editore)?

Terzo:
Nel caso l'utente lascia un campo di ricerca vuoto, come deve cambiare la query?

Per ora è tutto, grazie a tutti.
 
Ultima modifica:
Il primo problema l'ho risolto così:
Codice:
SELECT DISTINCT libri.`codiceBiblio`, `ingresso`,`anno`,`titolo`,`editore`,`autori`
FROM libri INNER JOIN tematiche ON libri.codiceBiblio=tematiche.codiceBiblio
WHERE autori LIKE '%$autori%' AND titolo LIKE '%$titolo%' AND editore LIKE '%$editore%' AND anno LIKE '%$anno%' 
ORDER BY libri.codiceBiblio
 

Discussioni simili