Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    ordinamento dati tramite checkbox

    ciao a tutti, sono nuova di questo forum anche se è un pò che lo seguo per trovare risoluzione ad alcuni problemi per un progetto universitario. vi spiego subito qual'è il mio dubbio.

    ho creato una pagina che visualizza i dati del mio db. la tabella del db si chiama: NOMI e all'interno ci sono le colonne: ID, NOME, cognome

    e fin qui tutto ok..funziona.

    ora vorrei ordinare i dati in ordine crescente e decrescente secondo il nome. vorrei che questo succedesse quando clicco su una checkbox.
    so che il codice è

    codice:
    SELECT * FROM nomi ORDER BY nome ASC
    e


    codice:
    SELECT * FROM nomi ORDER BY nome DESC
    ma dove devo inserirli nel mio codice??

    il mio codice è questo:

    <%@LANGUAGE = VBScript%>


    <%
    Dim cn, rs ' Variabili per la connessione e per il Recordset

    ' Creo un'istanza per la connessione ed una per il Recordset
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")

    cn.Open str_cn ' Apro la connessione al database

    Dim SQL ' Creo la query SQL
    sql="SELECT * FROM nomi"

    ' Apro il Recordset
    rs.Open SQL, cn
    %>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <input type="radio" name="button" value="crescente"> crescente
    <input type="radio" name="button" value="decrescente"> decrescente


    <table width="100%" bordercolor="black" border="2">
    <tr border="1" bordercolor="#000000">
    <td bordercolor="#000000">id:</td>
    <td>nome:</td>
    <td>cognome:</td>

    </tr>

    <%
    ' Verifico che la tabella contenga dati

    ' Se non ne contiene lancio un messaggio di avviso
    If rs.EOF = True Then
    %>



    Nessun dato trovato</p>




    <%
    ' Se invece ne contiene visualizzo i dati in funzione
    ' della query SQL specificata
    Else

    While rs.EOF = False
    %>

    <tr>
    <td><%=rs("id")%></td>
    <td><%=rs("nome")%></td>
    <td><%=rs("cognome")%></td>
    </tr>



    <%
    rs.MoveNext
    Wend

    End If
    %>

    </table>

    </body>
    </html>
    <%
    ' Chiudo il Recordset
    rs.Close
    Set rs = Nothing

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


    grazie mille a chi mi risponde

  2. #2
    sql="SELECT * FROM nomi ... "


    ciao

  3. #3
    ciao..ti ringrazio innanzi tutto per la risposta.
    il codice che devo usare lo conosco, ma non riesco a capire dove devo metterlo per fare in modo che selezionando la checkbox "crescente" mi ordina i dati in modo crescente e se clicco su quella decrescente me li ordina nell'altro modo

    come devo fare???

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    questa cosa del checkbox è inevitabile?
    l'ordinamento deve verificarsi alla selezione o passa tramite un pulsante di submit?

    chiedo perché ci sono maniere più semplici di realizzare l'ordinamento che dici...

  5. #5
    Originariamente inviato da ilarietta86
    ciao..ti ringrazio innanzi tutto per la risposta.
    il codice che devo usare lo conosco, ma non riesco a capire dove devo metterlo per fare in modo che selezionando la checkbox "crescente" mi ordina i dati in modo crescente e se clicco su quella decrescente me li ordina nell'altro modo

    come devo fare???
    Sarebbe il caso di usare i radio, o una select, le checkbox possono essere selezionate entrambe.

    codice:
    <input type="radio" name="ordine" value="asc" checked>
    <input type="radio" name="ordine" value="desc">
    
    
    sql="SELECT * FROM nomi order by nomi "&Request.Form("ordine")
    Il checked è importante, una deve essere selezionata al momento dell'invio, altrimenti Request.Form("ordine") sarebbe nullo e la stringa SQL darebbe errore.

  6. #6
    grazie lucavizzi ma facendo cosi non mi funziona..come faccio a fargli capire che cliccando deve cambiare??? sto facendo un macello con questo codice

    Vincent.Zeno ti spiego: io ho creato una pagina che mi visualizza i dati come da database, una pagina che me li ordina in ordine alfabetico crescente ed uno che me li ordina in ordine alfabetico decrescente. l'uso di checkbox non è obbligatorio..era un'idea...se no tu cosa mi consiglieresti???

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    non conosco il contesto, e se non ci sono esigenze particolari, passerei il valore in querystring.
    da li leggerlo e applicare la variabile alla query
    se vuoi fare questa scelta ci sono diversi modi di agire

  8. #8
    codice:
    <input type="radio" name="ordine" value="asc" checked onClick="if(location.href.indexOf('?q=asc')==-1){location.href='?q=asc'}">
    <input type="radio" name="ordine" value="desc" onClick="if(location.href.indexOf('?q=desc')==-1){location.href='?q=desc'}">
    
    ......
    
    
    sql="SELECT * FROM nomi order by nomi "&Request.Querystring("q")

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    ma anche senza i radio, con un semplice link.
    codice:
    if request("order") = "desc" then
    	orderAD = "desc"
    else
    	orderAD = "asc"
    end if
    
    
    sql="SELECT * FROM nomi order by nomi "&orderAD&" "
    
    asc
    desc

  10. #10
    buongiorno..grazie a tutti e 2

    le vostre idee sono molto valide e credo che in punti diversi del progetto le utilizzerò entrembe

    lucavizzi volevo chiederti una cosa sul codice che mi hai suggerito:
    la mia tabella è così composta:
    ID
    nome
    cognome

    col metodo che mi hai suggerito tu mi ordina in maniera crescente e descrescente secondo l'ID.
    se volessi ordinarlo ad esempio secondo il cognome..come dovrei cambiare il codice??

    grazie ancora a tutti per le gentili risposte!

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.