Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614

    elencare tabelle in ordine alfabetico

    Salve,
    utilizzo questo script per elencarmi in una select tutte le colonne di un db.
    Però me le elenca in ordine normale di inserimento.
    codice:
    <select name="pagine" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);">
    <option>
    Seleziona la pagina da modificare
    </option>
    <%
      Dim sc, cn, os
    
        sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("mdb-database/prova.mdb")
    
        Set cn = Server.CreateObject("ADODB.Connection")
        cn.Open sc
    
     Set os = cn.OpenSchema(4)
    
        While os.EOF = False
            If Trim(os("TABLE_NAME")) = "img" Then
    
    if os("COLUMN_NAME") = "ID" then
    
    else
    
    
            %>
        <option value="pagine.asp?pag=<%=os("COLUMN_NAME")%>"><%=os("COLUMN_NAME")%></option>            
            <%
            End If
    END IF
            os.MoveNext
        Wend
        Set os = Nothing
        cn.Close
        Set cn = Nothing
    %>
    </select>
    C'è la possibilità di elencarmele in ordine alfabetico?
    Grazie
    G.
    Ultima modifica di djjunior; 02-08-2016 a 12:28

  2. #2
    mettile in un recordset disconnesso e poi sortale (cerca in questo forum). oppure in un array e poi un semplice bubble sort (cerca sempre in questo forum oppure su internet)

    ciao!

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Grazie OPTIME,
    ma purtoppo non riesco ad implementare il recordset disconnesso nel mio script ho fatto:
    codice:
    <select name="pagine" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);">
    <option>
    Seleziona la pagina da modificare
    </option>
    <%
        Dim sc, cn, os
    
        sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("mdb-database/prova.mdb")
    
        Set cn = Server.CreateObject("ADODB.Connection")
        cn.Open sc
    
     Set os = cn.OpenSchema(4)
    
        While os.EOF = False
            If Trim(os("TABLE_NAME")) = "img" Then
            if os("COLUMN_NAME") = "ID" then
    else
    
    TABLE = os("TABLE_NAME")
    COLUMN = os("COLUMN_NAME")
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    Rs.Fields.Append "ID",adInteger,-1
    Rs.Fields.Append "TABLE",adVarChar,255
    Rs.Open
    
    Rs.AddNew
    Rs("ID")= os("ID")
    Rs("COLUMN_NAME")= os("COLUMN_NAME")
    Rs.Update()
    
    Rs.Sort = "COLUMN Desc"'
    If Rs.RecordCount > 0 then Rs.MoveFirst()
    
    While Not Rs.EOF
    
            %>
        <option value="pagine.asp?pag=<%=rs("COLUMN_NAME")%>"><%=rs("COLUMN_NAME")%></option>            
            <%
            
            Rs.MoveNext
    Wend 
    
    Rs.Close()
    Set Rs = Nothing
    
            End If
    End if
            os.MoveNext
        Wend
        Set os = Nothing
        cn.Close
        Set cn = Nothing
    %>
    </select>
    Ma non capisco dove sbaglio.
    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Nessun aiuto?

  6. #6
    le dichiarazioni le devi mettere fuori dal ciclo, e dentro solo la add

    quando poi hai finito, sorti il recordset e lo stampi

    poi chiudi tutto da bravo ragazzo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.