Salve, leggendo e rileggendo sono arrivata a costruire un bel motore di ricerca. Il mio unico problema č che sbaglio con gli operatori logici e quindi la ricerca mi esce vuota...
intanto vi posto il mio codice:
Non riesco a capire perchč non vadano al mio caso nč gli OR nč gli XOR nč ovviamente gli AND...codice:.... if ($conn == FALSE) die ("Errore nella connessione. Verificare i parametri nel file configura.inc.php"); mysql_select_db($nomedb, $conn) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); $keys = explode (" ", $termine); $query = ""; reset ($keys); while (list(,$parola) = each ($keys)) { $parola = trim($parola); if ($parola != "") $query .= "nome LIKE '%$parola%' OR sottocategoria LIKE '%$parola%' OR "; } $query .= "0"; foreach ($_POST['spunta'] as $value) { $val = "$val categoria = '$value' OR"; } $query = "SELECT * FROM articoli WHERE $val " . $query; $result = mysql_query($query, $conn); $risultato = mysql_num_rows($result); if($risultato <= 0){ ....
Ho provato anche in quest'altro modo, ma sempre invano:
codice:... if ($conn == FALSE) die ("Errore nella connessione. Verificare i parametri nel file configura.inc.php"); mysql_select_db($nomedb, $conn) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); $keys = explode (" ", $termine); $query = ""; reset ($keys); while (list(,$parola) = each ($keys)) { $parola = trim($parola); if ($parola != "") $query .= "nome LIKE '%$parola%' OR sottocategoria LIKE '%$parola%' OR "; } $query .= "0"; foreach ($_POST['spunta'] as $value) { $val = "$value,$val"; } $query = "SELECT * FROM articoli WHERE categoria = '$val' " . $query; $result = mysql_query($query, $conn); $risultato = mysql_num_rows($result); if($risultato <= 0){ ...
Chiedo gentilmente a voi se avete una soluzione funzionale...
In sostanza io intendevo effettuare la ricerca di una o + parole SOLAMENTE nei campi delle tabelle del mio database dove voglio cercare (ovvero in questo caso nei campi NOME e SOTTOCATEGORIE) perō anche SOLAMENTE nelle categorie che un utente sceglie spuntando le checkbox che ho messo nella pagina precedente a questa.
Le checkbox nella pagina precedente le creo con il ciclo seguente:
Spero di essere stata chiara, se avete domande chiedete pure ^___^...codice:$query = "SELECT * FROM categorie ORDER BY numord ASC"; $result = mysql_query($query,$conn) or die ("Errore nella query"); while ($row = mysql_fetch_array($result)) { echo "<input type=\"checkbox\" name=\"spunta[]\" value=\"$row[categoria]\" checked>$row[categoria]\n"; }
Ciao, grazie Cris ^__^

Rispondi quotando
