Query errata

  • Creatore Discussione Creatore Discussione nini
  • Data di inizio Data di inizio

nini

Nuovo Utente
23 Gen 2008
3
0
0
Ciao.

Ho il seguente codice:

<?
$db_host= "localhost";
$db_user= "labdid";
$db_password = "xxx";
$db_name = "db_labdid";
$db_tabella="TOTALE";
$cerca = $_POST['search'];

$db = mysql_connect($db_host, $db_user, $db_password);
if (!$db)die ("Impossibile connettersi al server $host,riprova più tardi. Grazie.");

mysql_select_db($db_name, $db)
or die ("Impossibile connettersi al database $database");

$result=mysql_db_query("db_labdid", "SELECT * FROM TOTALE WHERE Prodotto LIKE '%" .$cerca. "%' ORDER by Prodotto ASC");

echo "<table width='100%' border='1'>\n";

echo "<tr><td><b>Prodotto</b></td>";
echo "<td><b>Unità</b></td>";
echo "<td><b>CAS</b></td>";
echo "<td><b>Formula</b></td>";
echo "<td><b>Collocazione</b></td>";
echo "<td><b>Pericolosità</b></td>";
echo "</tr>";

while ($row = mysql_fetch_row($result)) {

echo "<tr>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "<td>".$row[4]."</td>";
echo "<td>".$row[5]."</td>";
echo "<td>".$row[6]."</td>";
echo "</tr>";

}

echo "</table>\n";

mysql_close();

?>

Così faccio la ricerca solo per prodotto, ma io vorrei farla anche o per CAS o per formula. Ho provato a fare così ma non funziona:

$result=mysql_db_query("db_labdid", "SELECT * FROM TOTALE WHERE (Prodotto LIKE '%" .$cerca. "%' ORDER by Prodotto ASC) OR (CAS LIKE '%" .$cerca. "%' ORDER by Prodotto ASC) OR (Formula LIKE '%" .$cerca. "%' ORDER by Prodotto ASC)");

Mi potete dare una mano?

Grazie.
 
Direi che la sintassi della query è errata, l'ordinamento dei risultati va fatto dopo la selezione. Per cui prova così:

SELECT * FROM TOTALE WHERE (Prodotto LIKE '%" .$cerca. "%') OR (CAS LIKE '%" .$cerca. "%') OR (Formula LIKE '%" .$cerca. "%') ORDER by Prodotto ASC"
 

Discussioni simili