Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Link con Order By

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    Link con Order By

    Ciao a tutti

    ho creato una semplice pagina di visualizzazione dati da db che estrae un elenco di persone composto da 3 campi:

    cognome, nome, eta.

    A questa pagina ho aggiunto 3 link:

    cognome, nome, eta

    sui quali si clicca se si ha la necessità di ordinare l'elenco x cognome, nome o eta.

    Io provato a fare una cosa così:

    Dim nome_torneo_v, cognome_v, nome_v, eta_v, ascendende, discendente

    nome_torneo_v = request.querystring("nome_torneo")
    cognome_v = request.querystring("cognome")
    nome_v = request.querystring("nome")
    eta_v = request.querystring("eta")
    ascendende = request.querystring("asc")
    discendente = request.querystring("desc")

    Sql = "SELECT * FROM TabMarcatori WHERE NOME_TORNEO = '"& nome_torneo_v &"' "&cognome_v&""

    I link in questione sono:

    <th>
    COGNOME
    </th>

    <th>
    <a href="marcatori_elencoB_2010.asp?nome_torneo=nome_ torneo_v?ord=nome_squadra_v">SQUADRA
    </a>
    </th>

    <th>
    <a href="marcatori_elencoB_2010.asp?nome_torneo=nome_ torneo_v?ord=tot_gol_v">GOL
    </a>
    </th>

    ...detto questo non sono riuscito a farlo funzionare ;-(

    ...poi mancarebbero le 2 variabili ascendende e discendente x l'ORDER BY ma non so dove metterle!

    Potete aiutarmi?

    Pier

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Scusa passa in querystring il parametro tipo sul link nome www.url.asp?parametro_ricerca=nome
    su eta www.url.asp?parametro_ricerca=eta e cosi via
    e fai
    param_ricreca=request.queryString("parametro_ricer ca")
    if param_ricerca="" then
    param_ricerca="nome"
    end if
    Sql = "SELECT * FROM TabMarcatori ORDER by '"&param_ricerca&"'"
    che di default ordina la ricerca per nome

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao grandeorco

    ho provato ma non ci sono riuscito!

    Impostando così:

    param_ricerca = request.queryString("nome")
    if param_ricerca = "" then
    param_ricerca = "nome"
    end if

    Sql = "SELECT * FROM TabMarcatori WHERE NOME_TORNEO = '"& nome_torneo_v &"' ORDER by '"&param_ricerca&"'"

    <th>NOME</th>


    Ottengo questo errore:

    ADODB.Field error '80020009'

    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

    /marcatori_elencoB_2010.asp, line 0

    Quando clicco su NOME vado nella pagina dove ottengo l'errore sopra e nel vedo

    http://www.sito.it/marcatori_elencoB...e_torneo=Ninja Pizza - Bar Lux 10?parametro_ricerca=nome_squadra

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Puoi postare il codice completo?
    dove c'è la connessione al db e il ciclo di lettura dei dati
    perche il sono sql="....... non basta e spero che non sia tutto li

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    ti posto il codice ma i ampi sui quali voglio utilizzare x ordinarli sono: COGNOME, NOME_SQUADRA, TOT_GOL:

    <%
    'Dichiaro il recordset
    Dim rs
    'Creo il recordset
    Set rs = Server.CreateObject("ADODB.Recordset")
    'Dichiaro la stringa Sql
    Dim Sql

    Dim nome_torneo_v
    nome_torneo_v = request.querystring("nome_torneo")

    param_ricerca = request.queryString("nome_squadra")
    if param_ricerca = "" then
    param_ricerca = "nome_squadra"
    end if

    Sql = "SELECT * FROM TabMarcatori WHERE NOME_TORNEO = '"& nome_torneo_v &"' ORDER by '"&param_ricerca&"'"
    'Apro il recordset, eseguo la stringa Sql e su quale db eseguirla
    rs.Open Sql, cn, 1
    %>
    <table id="marcatori">
    <caption>
    CLASSIFICA MARCATORI
    </caption>
    <colgroup>
    ....
    </colgroup>
    <thead>
    <tr>
    <th>">COGNOME</th>
    <th>NOME</th>
    <th>SQUADRA</th>
    <th>GOL</th>
    </tr>
    </thead>
    <tbody>
    <%
    'Se il recordset NON è (end of file) alla fine del file, allora:
    While Not rs.eof
    %>
    <%
    If contatore Mod 2 = 1 then
    %>
    <tr class="riga0">
    <td><%=rs("COGNOME")%></td><td><%=rs("NOME")%></td><td><%=rs("NOME_SQUADRA")%></td><td><%=rs("TOT_GOL")%></td>
    </tr>

    <%
    Else
    %>

    <tr class="riga1">
    <td><%=rs("COGNOME")%></td><td><%=rs("NOME")%></td><td><%=rs("NOME_SQUADRA")%></td><td><%=rs("TOT_GOL")%></td>
    </tr>

    <%
    End if
    %>

    <%
    'Vai al prossimo
    contatore = contatore + 1
    rs.MoveNext
    Wend
    %>
    </tbody>
    </table>
    <%
    'Chiudo il recordset
    rs.Close
    Set rs = Nothing

    'Chiudo la connessione
    cn.Close
    Set cn = Nothing
    %>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    2,008
    Prova cosi

    codice:
    <%
    
    Set cn = Server.CreateObject("ADODB.Connection")
    myConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("\mdb-database\DbMarcatori.mdb")
    cn.Open myConn
    
    
    'Dichiaro il recordset
    Dim rs
    'Creo il recordset
    Set rs = Server.CreateObject("ADODB.Recordset")
    'Dichiaro la stringa Sql
    Dim Sql
    
    Dim nome_torneo_v
    nome_torneo_v = "torneo1"
    
    param_ricerca = request.queryString("param_ricerca")
    if param_ricerca = "" then
    param_ricerca = "nome_squadra"
    end if
    
    Sql = "SELECT * FROM TabMarcatori WHERE NOME_TORNEO <> '' ORDER by "&param_ricerca&" ASC"
    'Apro il recordset, eseguo la stringa Sql e su quale db eseguirla
    rs.Open Sql, cn, 1
    %>
    <table id="marcatori">
    <caption>
    CLASSIFICA MARCATORI
    </caption>
    <colgroup>
    ....
    </colgroup>
    <thead>
    <tr>
    <th>&param_ricerca=cognome">COGNOME</th>
    <th>NOME</th>
    <th>SQUADRA</th>
    <th>GOL</th>
    </tr>
    </thead>
    <tbody>
    <%
    'Se il recordset NON è (end of file) alla fine del file, allora: 
    While Not rs.eof
    %>
    <%
    If contatore Mod 2 = 1 then
    %> 
    <tr class="riga0">
    <td><%=rs("COGNOME")%></td><td><%=rs("NOME")%></td><td><%=rs("NOME_SQUADRA")%></td><td><%=rs("TOT_GOL")%></td>
    </tr>
    
    <%
    Else 
    %>
    
    <tr class="riga1">
    <td><%=rs("COGNOME")%></td><td><%=rs("NOME")%></td><td><%=rs("NOME_SQUADRA")%></td><td><%=rs("TOT_GOL")%></td>
    </tr>
    
    <%
    End if
    %>
    
    <%
    'Vai al prossimo
    contatore = contatore + 1
    rs.MoveNext
    Wend
    %>
    </tbody>
    </table>
    <%
    'Chiudo il recordset
    rs.Close 
    Set rs = Nothing
    
    'Chiudo la connessione
    cn.Close 
    Set cn = Nothing
    %>
    a me funziona, naturalmente devi modificarlo in qualche punto perche io ho messo tutti i tornei

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.