- Home
- Categorie
- Coding e Sistemistica
- PHP
- problemi con ricerca multipla
-
problemi con ricerca multipla
Salve, sto lavorando sull'immissione in rete di un DB (php/Access).
Sono riuscita impostare una query che consenta all'utente di compiere una ricerca per campi multipli, ma c'è un problema...se nel DB esiste un solo record corrispondente ai parametri inseriti dall'utente, la ricerca non da alcun risultato. Se invece i records sono più di uno continua ad ometterne il primo.
Posto la pagina con la query:
<html>
<head>
</head>
<body>
// Connessione al DataBase
$Connessione = odbc_connect("","","");
// Se $connessione esiste...
if($Connessione)
{
// .. preparo una query per richiamare tutto
// il contenuto della tabella dettagli
$Query="SELECT* FROM Dettagli WHERE campo1= '".$_POST['campo1']."'
AND campo2= '".$_POST['campo2']."'
AND campo3= '".$_POST['campo3']."'";
// eseguio la query
$Risultato=odbc_exec($Connessione,$Query);
// tramite la funzione odbc_fetch_row()
// ricavo tutti i dati contenuti in ogni rigawhile($row=odbc_fetch_row($Risultato))
{ odbc_result_all($Risultato);
}libero la memoria occupata dal
risultato della query
odbc_free_result($Risultato);
Chiudo la connessione al dns
odbc_close($Connessione);
}
else
{
echo "Impossibile connettersi al DB";
}
?>
</body>
</html>
-
$Query="SELECT* FROM Dettagli WHERE campo etc etc
prima cosa che ho visto: tra select e * va uno spazio.
poi, nel tuo codice non vedo nessun punto che stampa i risultati.
in ogni caso:
while($row=odbc_fetch_row($Risultato)) { echo $row['campo1']; etc etc }
ultima cosa se sei ancora in fase di sviluppo e sei ancora in tempo prendi in considerazione l'idea di non usare access ma piuttosto se proprio vuoi rimanere microsoft usa MSSQL server (tutt'alpiù MSDE che è gratuito).
http://www.microsoft.com/downloads/details.aspx?FamilyId=413744D1-A0BC-479F-BAFA-E4B278EB9147&displaylang=itci sono le librerie per accedere a mssql direttamente senza dover passare dagli odbc.
se puoi lavorare su linux ovviamente mysql.