ciao a tutti, sto da giorni tentando di risolvere questa magagna: ho un database con una tabella 'opera' che contiene degli scritti, ho fatto un prodotto cartesiano con la tabella 'utenti' che contiene gli autori degli scritti. Ho fatto una form per effettuare il browsing delle opere per tipo, autore, soggetto e tipologia. Per fare le query ho aggiunto la variabile $aggiunta ad una query base. inizialmente $aggiunta = ""; poi a seconda dei campi secondo cui uno effettua la ricerca cambia valore.
Nonostante abbia più volte ricontrollato, l'unico effetto che la ricerca con questa query produce, per qualsiasi campo io cerchi, è di darmi tutti i valori degli scritti meno il primo. Che può essere?
Grazie a chi mi risponderà.
Codice PHP:SELECT *
FROM utenti, opera
WHERE opera_approvazione = 1
AND utenti_approvazione = 1
AND opera_autore = utenti_id
{$aggiunta}
ORDER BY opera_id
");
$dati_opere = mysql_fetch_array($sql_cerca_opere);
if ($_POST["titolo"] != "" && strlen($_POST["titolo"]) >= 4 )
$aggiunta .= "AND opera_titolo LIKE '%" .ucwords($_POST["titolo"]). "%' ";
if ($_POST["autore"] != "" && strlen($_POST["autore"]) >= 4)
$aggiunta .= "AND utenti_cognome LIKE '%" .ucwords($_POST["autore"]). "%' ";
if ($_POST["scegli_tipo"] != "")
$aggiunta .= "AND opera_tipo = {$_POST["scegli_tipo"]}";
if ($_POST["scegli_soggetto"] != "")
$aggiunta .= "AND opera_soggetto = {$_POST["scegli_soggetto"]}";

Rispondi quotando