Una funzione per popolare un listbox prendendo i dati da una tabella

di Marco Carrodano, in Classic ASP, UserScript, Database,

La funzione Crea_Listbox popola una listbox attingendo valori e nomi visualizzati da una tabella specificata:

<%

'Effettuo la connessione al database
Connessione="DRIVER={Microsoft Access Driver (*.mdb)}; "
Connessione=Connessione & "DBQ=" & server.mappath("aspitalia.mdb")

SET Connection = server.createobject("adodb.connection")
Connection.Open Connessione

'Campo_Valore = il campo del database dal quale attingo il valore delle varie opzioni
'Campo_Nome = il campo del database dal quale attingo il nome visualizzato delle varie opzioni
'Tabella = nome della tabella del database su cui effettuare la query
'nome_listbox = il nome che dovrà avere il listbox

function Crea_Listbox(Campo_Valore, Campo_Nome, Tabella, Nome_listbox)
  'Creo un listbox e lo nomino con il valore Nome_listbox passato alla funzione
  'Aggiungo inoltre il carattere di ritorno a capo per avere in output un html comprensibile
  Temp="<select name=""" & Nome_listbox & """>" & chr(10)

  'la riga sottostante crea la prima opzione vuota.
  'se non si desidera si può remmare o cancellare
  Temp=Temp & "<option value=""""></option>" & chr(10)
  
  'Creo la query in modo che prenda i campi che andranno a popolare il listbox
  'Il primo è il "campo_valore" ovvero il valore delle varie voci nella listbox
  'Il secondo invece è il "Campo_Nome", ovvero il testo visualizzato
   sql="select " & Campo_Valore & ", " & Campo_Nome & " from " & Tabella
  set rs=connection.execute(sql)
  
  'Ciclo all'interno del recordset ottenuto e stampo l'html relativo alle singole voci del listbox
  do while not rs.eof
    Temp=Temp & "<option value=""" & RS(Campo_Valore) & """>" & RS(Campo_Nome) & "</option>" & chr(10)
    rs.movenext
  loop
  
  'Chiudo il recordset
  rs.close
  set rs=nothing
  
  'Chiudo l'html relativo al listbox
  Temp=Temp & "</select>"

   Crea_Listbox=Temp
end function
%>
<table><tr><td>
<%=Crea_Listbox("ID_Nome", "Nome", "Prova", "Nomi")%>
</td></tr></table>
<%
connection.close
set connection=nothing
%>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi