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

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
%>


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC