• User

    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 riga

    while($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>


  • Super User

    $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&#40;$row=odbc_fetch_row&#40;$Risultato&#41;&#41;
    &#123; 
    echo $row&#91;'campo1'&#93;; etc etc
    &#125; 
    
    

    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=it

    ci sono le librerie per accedere a mssql direttamente senza dover passare dagli odbc.

    se puoi lavorare su linux ovviamente mysql.

    :ciauz: