Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193

    [ASP]Cercare utenti in DB Access

    Vorrei creare una pagina dove un utente può effettuare una ricerca tra gli iscritti in base alle sue preferenze ad esempio il sesso e il luogo di residenza degli utenti.
    Per fare questo ho la pagina "cerca.asp" con il form dove l'utente seleziona i suoi campi e poi invia il tutto alla pagina "risultato ricerca.asp" dove vengono visualizzati i risultati.
    Spulciando sul forum sono arrivato a questo codice:
    __________________________________________________ __________________
    "CERCA.ASP"
    <form name="form_ricerca" id="form_ricerca" method="post" action="risultato_ricerca.asp">
    <fieldset id="informazioni">
    <label for="sesso">Sesso:</label>
    <select name="sesso" id="sesso" size="1" tabindex="6">
    <option value="ses_all">Uomo/Donna</option>
    <option value="uomo">uomo</option>
    <option value="donna">donna</option>
    </select>


    <label for="Regioni">Regione Residenza:</label>
    <select name="Reg_res" id="Reg_res" onChange="dennis(this[this.selectedIndex].value)" size="1" tabindex="10">
    <option value="reg_all">Tutte</option>
    <option value="Abruzzo">Abruzzo</option>
    <option value="Basilicata">Basilicata</option>
    <option value="Calabria">Calabria</option>
    <option value="Campania">Campania</option>
    <option value="Emilia-Romagna">Emilia-Romagna</option>
    <option value="Friuli-Venezia Giulia">Friuli-Venezia Giulia</option>
    <option value="Lazio">Lazio</option>
    <option value="Liguria">Liguria</option>
    <option value="Lombardia">Lombardia</option>
    <option value="Marche">Marche</option>
    <option value="Molise">Molise</option>
    <option value="Piemonte">Piemonte</option>
    <option value="Puglia">Puglia</option>
    <option value="Sardegna">Sardegna</option>
    <option value="Sicilia">Sicilia</option>
    <option value="Toscana">Toscana</option>
    <option value="Trentino-Alto Adige">Trentino-Alto Adige</option>
    <option value="Umbria">Umbria</option>
    <option value="Valle d Aosta">Valle d Aosta</option>
    <option value="Veneto">Veneto</option>
    </select>


    <label for="Provincie">Provincia Residenza:</label>
    <select name="Prov_res" id="Prov_res" size="1" tabindex="11">
    <option value="prov_all">Tutte</option>
    <option value="Chieti">Chieti</option>
    <option value="L Acquila">L'Aquila</option>
    <option value="Pescara">Pescara</option>
    </select>


    </fieldset>
    <fieldset id="informazioni">


    <input type="submit" name="Submit" value="Cerca" tabindex="18">


    </fieldset>
    </form>
    __________________________________________________ ___________________
    "RISULTATO_RICERCA.ASP"

    <%
    dim objconn
    set objconn = server.createobject("ADODB.Connection")
    objconn.open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&_
    Server.MapPath("\..\mdb-database\utenti.mdb")

    dim sesso
    sesso = request.form("sesso")
    dim regione
    regione = request.form("Reg_res")
    dim provincia
    provincia = request.form("Prov_res")


    dim rs, sql
    set rs = server.createobject("ADODB.Recordset")
    sql = "SELECT *FROM tab_utenti WHERE Sesso LIKE '=" & sesso & "' OR Regioni LIKE '=" & regione & "' OR Provincie LIKE '="& provincie & "'"
    rs.open sql, objConn, 3, 3

    %>
    <%
    if rs.eof then

    Response.Write("nessun utente trovato")
    else
    do while not rs.eof

    Response.Write(rs("Username"))
    rs.MoveNext
    loop

    %>
    <%
    rs.close
    set rs = nothing
    end if
    %>
    __________________________________________________ __________________
    Ma naturalmente non funziona...
    Le opzioni di ricerca sono 3,sesso,regione residenza e provincia residenza,l'utente deve poter selezionare i campi a suo piacimento sia scegliendo un valore per tutti e 3 sia lasciando "tutto" su tutti i campi.
    Ora dove sbaglio?
    Devo dare dei valori alle variabili in base al select?

    dim sesso
    sesso = request.form("sesso")
    if sesso = ses_all then
    sesso ="%"
    else
    sesso = request.form("sesso")
    end if

    dim regione
    regione = request.form("Reg_res")
    if regione = reg_all then
    regione ="%"
    else
    regione = request.form("Reg_res")
    end if

    dim provincia
    provincia = request.form("Prov_res")
    if provincia = prov_all then
    provincia ="%"
    else
    provincia = request.form("Prov_res")
    end if

    Una cosa del genere?
    Spero di essermi spiegato
    Grazie

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Che significa non funziona? Errore?
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    E poi io direi "non so farlo funzionare" e non "non funziona".
    Scusa.

    Intanto bisogna vedere come sono strutturati i dati degli utenti sul database, ovvero, la tabella (o le tabelle) che campi hanno e che tipo e formato di dati contengono.

  4. #4
    intanto costruirei una sql "a pezzi"
    escluderei a vicenda regione e provincia

    quindi la query dovrebbe essere
    trova sesso AND (Regione OR Provincia)

    la query la costruisci ...
    sql = "select ... where"

    se sesso<>"" (quindi selezionato) sql= sql & "sesso = sesso"

    se regione <>"" e sesso<>"" sql=sql&"AND regione =regione"
    se regione<>"" e sesso="" sql=sql&"regione = regione" (sparisce l'AND)

    se provincia<>"" and regione<>"" and sesso="" sql=sql&"OR provincia=provincia"

    se sesso<>"" e regione="" metti AND e via di seguito.....

    insomma costruisci una query a pezzi secondo le variabili che hai da cercare!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    viki1967

    Che significa non funziona? Errore?
    allora l'errore è:
    Tipo di errore:
    Microsoft JET Database Engine (0x80040E10)
    Nessun valore specificato per alcuni parametri necessari.
    /www.incontrigratis.net/risultato_ricerca.asp, line 39
    Mems

    E poi io direi "non so farlo funzionare" e non "non funziona".Scusa.
    Intanto bisogna vedere come sono strutturati i dati degli utenti sul database, ovvero, la tabella (o le tabelle) che campi hanno e che tipo e formato di dati contengono.
    Bhè era sottinteso che la colpa era della mia incapacità....
    Il Database è strutturato in una sola tabella "tab_utenti"in cui ci sono i campi Sesso,Regione residenza,Provincia residenza che sono tutti campi testo e contengono i valori corrispondenti Sesso(Uomo o Donna),Regione residenza(una regione italiana),Provincia residenza(una provincia italiana).

    Jacqui ora vedo di passarmi un'altra serata a sfogliare il forum e vedo se riesco a fare ciò che mi consigli.
    Comunque i campi del form non possono essere vuoti,o si sceglie un'opzione oppure la ricerca viene effettuata su tutto il campo della tabella quindi ad esempio la select Sesso ha 3 opzioni,Uomo,Donna oppure tutti.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Sono riuscito a far funzionare la ricerca su un campo per ora,come faccio ad implementare anche gli altri?
    Il codice è questo:
    <%
    Dim operatore
    if request.form("sesso")= "ses_all" then
    operatore = ""
    else
    operatore = " WHERE "
    end if

    dim opzione_ricerca
    if request.form("sesso")= "ses_all" then
    opzione_ricerca = " ORDER BY Username"
    else
    opzione_ricerca = " Sesso = '"&request.form("sesso")&"'"
    end if

    dim rs, strSQL
    set rs = server.createobject("ADODB.Recordset")
    strSQL = "SELECT Username FROM tab_utenti"
    strSQL = strSQL & operatore & opzione_ricerca

    Response.Write(rs("Username"))
    %>
    <%
    rs.close
    set rs = nothing
    end if
    %>

    Funziona la ricerca secondo la scelta sul campo "sesso"
    ma come faccio a coinvolgere gli altri campi?
    Uno deve poter scegliere ad esempio la ricerca:
    Sesso=tutto,Regione=tutte,Provincia=tutte
    Sesso=uomo,Regione=piemonte,Provincia=tutte
    Sesso=uomo,Regione=piemonte,Provincia=novara
    Non voglio scrivere troppo codice inutile per la mancata conoscenza...
    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    UP

    Lo sò che non si dovrebbe fare ma sto impazzendo con sta cosa...

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Sono arrivato a questo ma mi dà errore:

    Dim strRicerca
    if request.form("sesso") = "ses_all" & request.form("Reg_res") = "reg_all" & request.form("Prov_res") = "prov_all" then
    strRicerca = " ORDER BY Username"

    else if request.form("sesso") <> "ses_all" then
    strRicerca = " WHERE Sesso = '" &request.form("sesso")& "' ORDER BY Username"


    else if request.form("sesso") = "ses_all" & request.form("Reg_res") <>"reg_all" then
    strRicerca = " WHERE sesso = '"&request.form("sesso")&"' AND Regione residenza ='"&request.form("Reg_res")& "' ORDER BY Username"

    else if request.form("sesso") <> "ses_all" & request.form("Reg_res") <>"reg_all" then
    strRicerca = " WHERE sesso = '"&request.form("sesso")&"' AND Regione residenza ='"&request.form("Reg_res")& "' ORDER BY Username"

    else if request.form("sesso") <> "ses_all" & request.form("Reg_res") <> "reg_all" & request.form("Prov_res") <> "prov_all" then
    strRicerca = " WHERE Sesso = '"&request.form("sesso")&"' AND Regione residenza ='"&request.form("Reg_res")& "' AND Provincia residenza ='"&request.form("Prov_res")& "' ORDER BY Username"
    end if
    end if
    end if
    end if
    end if
    dim rs, strSQL
    set rs = server.createobject("ADODB.Recordset")
    strSQL = "SELECT Username FROM tab_utenti"
    strSQL = strSQL & strRicerca


    L'errore è il seguente:
    Errore di sintassi (operatore mancante) nell'espressione della query 'sesso = 'ses_all' AND Regione residenza ='reg_all''.

    Dove sbaglio?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Se può servire a qualcuno ho risolto cosi:

    "CERCA.ASP"

    <form name="form_ricerca" id="form_ricerca" method="post" action="risultato_ricerca.asp">
    <fieldset id="informazioni">
    <label for="sesso">Sesso:</label>
    <select name="sesso" id="sesso" size="1" tabindex="6">
    <option value="">Uomo/Donna</option>
    <option value="uomo">uomo</option>
    <option value="donna">donna</option>
    </select>


    <label for="Regioni">Regione Residenza:</label>
    <select name="Reg_res" id="Reg_res" onChange="dennis(this[this.selectedIndex].value)" size="1" tabindex="10">
    <option value="Tutte">Tutte</option>
    <option value="Abruzzo">Abruzzo</option>
    <option value="Basilicata">Basilicata</option>
    <option value="Calabria">Calabria</option>
    <option value="Campania">Campania</option>
    <option value="Emilia-Romagna">Emilia-Romagna</option>
    <option value="Friuli-Venezia Giulia">Friuli-Venezia Giulia</option>
    <option value="Lazio">Lazio</option>
    <option value="Liguria">Liguria</option>
    <option value="Lombardia">Lombardia</option>
    <option value="Marche">Marche</option>
    <option value="Molise">Molise</option>
    <option value="Piemonte">Piemonte</option>
    <option value="Puglia">Puglia</option>
    <option value="Sardegna">Sardegna</option>
    <option value="Sicilia">Sicilia</option>
    <option value="Toscana">Toscana</option>
    <option value="Trentino-Alto Adige">Trentino-Alto Adige</option>
    <option value="Umbria">Umbria</option>
    <option value="Valle d Aosta">Valle d Aosta</option>
    <option value="Veneto">Veneto</option>
    </select>


    <label for="Provincie">Provincia Residenza:</label>
    <select name="Prov_res" id="Prov_res" size="1" tabindex="11">
    <option value="Tutte">Tutte</option>
    <option value="Chieti">Chieti</option>
    <option value="L Acquila">L'Aquila</option>
    <option value="Pescara">Pescara</option>
    </select>


    <label for="cerca_foto">profili con foto</label>
    <input type="checkbox" name="Con foto" "id="cerca_foto>

    </fieldset>
    <fieldset id="informazioni">


    <input type="submit" name="Submit" value="Cerca" tabindex="18">


    </fieldset>
    </form>
    ___________________________
    "RISULTATO_RICERCA.ASP"

    <%
    dim objconn
    set objconn = server.createobject("ADODB.Connection")
    objconn.open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&_
    Server.MapPath("..\mdb-database\utenti.mdb")
    sel_ses = request.form("sesso")
    sel_reg = request.form("Reg_res")
    sel_prov = request.form("Prov_res")

    Dim strRicerca
    if sel_ses = "" and sel_reg = "Tutte" and sel_prov = "Tutte" then
    strRicerca = " ORDER BY Username"
    else
    if sel_ses = "" and sel_reg <> "Tutte" and sel_prov = "Tutte" then
    strRicerca = " WHERE [Regione residenza] = '"& sel_reg &"' ORDER BY Username"
    else
    if sel_ses <> "" and sel_reg = "Tutte" and sel_prov = "Tutte" then
    strRicerca = " WHERE Sesso = '"& sel_ses &"' ORDER BY Username"
    else
    if sel_ses <> "" and sel_reg <> "Tutte" and sel_prov = "Tutte" then
    strRicerca = " WHERE sesso ='"& sel_ses &"' AND [Regione residenza] ='"& sel_reg &"' ORDER BY Username"
    else
    if sel_ses <> "" and sel_reg <> "Tutte" and sel_prov <> "Tutte" then
    strRicerca = " WHERE Sesso = '"& sel_ses &"' AND [Regione residenza] ='"& sel_reg & "' AND [Provincia residenza] ='"& sel_prov & "' ORDER BY Username"
    end if
    end if
    end if
    end if
    end if
    dim rs, strSQL
    set rs = server.createobject("ADODB.Recordset")
    strSQL = "SELECT Username FROM tab_utenti"
    strSQL = strSQL & strRicerca
    Response.Write (strSQL)
    rs.open strSQL, objConn, 3, 3
    %>

    La ricerca viene effettuata correttamente ma ora come faccio a creare un link alla pagina profilo degli utenti restituiti dalla ricerca?

    Pensavo ad una cosa del genere ma non funziona:

    linea 77 <A HREF = "profilo.asp?utente=<%rs("Username")%>"><%response .write(utente)%></A>

    Mi restituisce quest'errore:

    Numero errato di argomenti o assegnazione di proprietà non valida
    /www.incontrigratis.net/risultato_ricerca.asp, line 77

    "utente" è una variabile che devo recuperare nella pagina profilo per visualizzare il profilo giusto.

    Come fare?
    Grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    193
    Ho risolto cosi:

    codice:
    <a href="profilo.asp?utente=<%=objRS("Username")%>"><%=objRS("Username")%>
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.