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

    Array regioni/province/comini da DB

    Ciao.
    Avrei la necessità di fare una pagina di registrazione dove tra le altre cose gli utenti dovranno scegliere la propria regione, provincia e comune... pensavo di mettere 3 tendine dipendenti tra loro nelle quali far visualizzare i dati... quindi scelta la regione visualizzare le province associate, e poi i comuni... il tutto senza far ricaricare la pagina... naturalmente i dati per riempire i menù a tendina verrebbero presi dinamicamente dal database.
    Avete qualcosa del genere?
    Ho guardato in giro ma ho trovato solo con riaggiornamento di pagina... inoltre avrei anche bisogno del db contentente regioni, province e comuni....

    Purtroppo con gli array non ci ho mai fatto granchè e quindi sono un po' in difficoltà.

    Grazie.


  2. #2
    Ho provato a fare qualcosa, ma naturalmente con poco successo...


    <%'**** query per recuperare la lista delle regioni ***
    SelRegioni = "Select * From Regioni Order by NomeRegione"
    Set RS_Regioni = Server.CreateObject("ADODB.recordset")
    RS_Regioni.Open SelRegioni, Conn,1,3
    %>
    <%
    '********------- gestione REGIONI -------********
    dim ArrayRegioni() '*** definisco l'array delle regioni ****
    if not RS_Regioni.eof then '*** se nella tabella delle regioni ce ne sono di presenti, valorizzo l'array ***
    ind_regione = 0
    redim ArrayRegioni(RS_Regioni.RecordCount-1) '*** ridimensiono l'array per quante sono le regioni ***
    do until RS_Regioni.eof
    ArrayRegioni(ind_regione) = RS_Regioni("NomeRegione") '*** valorizzo l'array ***

    '*** vado ad inserire le province per la regione in essere ***
    SelProvince = "Select * From Province where IDRegione ="&RS_Regioni("IDRegione")
    Set RS_Province = Server.CreateObject("ADODB.recordset")
    RS_Province.Open SelProvince, Conn,1,3
    ind_provincia = 0
    'redim ArrayRegioni(RS_Regioni.RecordCount-1,RS_Province.RecordCount-1) '*** ridimensiono l'array per quante sono le regioni ***
    do until RS_Province.eof
    ArrayRegioni(ind_regione,ind_provincia) = RS_Province("NomeProvincia") '*** valorizzo l'array ***
    ind_provincia = ind_provincia + 1
    RS_Province.moveNext
    loop

    ind_regione = ind_regione + 1
    RS_Regioni.moveNext
    loop
    end if
    RS_Regioni.close
    set RS_Regioni=nothing
    '********------- // gestione REGIONI // -------********
    %>

    <% '*** visualizzo il contenuto dell'array delle regioni ***
    for i = 0 to ubound(ArrayRegioni)
    response.write ArrayRegioni(i) & "

    "
    next
    %>
    e mi da errore:
    Errore di run-time di Microsoft VBScript error '800a0009'
    Indice non incluso nell'intervallo
    /nailstudio/italiano/lista_asp.asp, line 32
    la linea 32 è questa:
    ArrayRegioni(ind_regione,ind_provincia) = RS_Province("NomeProvincia") '*** valorizzo l'array ***
    allora ho provato mettendo
    ArrayRegioni(ind_regione)(ind_provincia) = RS_Province("NomeProvincia") '*** valorizzo l'array ***
    ma da il seguente errore:
    Errore di run-time di Microsoft VBScript error '800a000d'
    Tipo non corrispondente: 'Abruzzo'
    /nailstudio/italiano/lista_asp.asp, line 32
    praticamete prende il priomo record della tabella regioni (Abruzzo) e poi si inchioda.

    (nelle tabelle per ora ho messo 4 regioni e per le prime 2 le rispettive province, giusto per provare).

    Mi potete dare qualche indicazione?
    La cosa diventerà ancora più complicata con i comuni, ma penso che una volta incastonato bene il pezzo delle province, per i comuni basti fare la stessa cosa....

    Grazie.

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao nicyork,

    per non ricaricare mai la pagina dovresti trasferire tutto il db di regioni provincie e comuni nel client e sarebbe troppo pesante.
    Potresti sfruttare un frame nascosto o un popup.
    Io l'ho fatto con un popup aperto in un'area non visibile dello schermo. Se vuoi vedere il funzionamento >> guarda qua << (la domanda 2)

  4. #4
    Trasferire in che senso? Pensavo di scaricarlo su un array e poi gestirlo da lì....

    carino come hai fatto tu... che dire... mica mi potresti spiegare come hai fatto e magari procurarmi anche le tabelle con regioni / province / comuni?
    Chiedo troppo?

    Grazie.

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    se mi dai un indirizzo email (per evitare spam ti conviene darmelo in pvt) ti mando un zip con database e 2 paginette d'esempio

  6. #6

    esempio via email

    Ciao, a me interesserebbe molto.

    se puoi mandarmelo il mio email è kruder@email.it

    grazie mille.

    Ciao
    gio

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    e tu in cambio cosa mi dai?
    mandato

  8. #8
    ...fai le tue richieste....

  9. #9
    Quando, poi, in seguito ai vari 3D, avevo finito per creare lo script che realizza la cosa (ma ricaricando la pagina), ricordo la discussione in cui un altro utente perorava la causa di uno script javascript che faceva la stessa cosa usando degli arrays........tra l'altro funzionava molto bene e senza refresh di pagina.....devo cercare un momento.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  10. #10
    Lo script era questo:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <html> 
    <head><title>Test</title> 
    <% 
    Set Connection = Server.CreateObject("adodb.connection") 
    Connection.open connessione 
    Set RsMarche = Connection.Execute("SELECT keyMarca,marca from tbl_marche order by marca;") 
    SQLModelli = "SELECT tbl_modelli.keyModello,tbl_modelli.idMarca, tbl_modelli.modello " & _ 
    "FROM tbl_modelli" 
    Set RsModelli = Server.CreateObject("Adodb.RecordSet") 
    RsModelli.open SQLModelli,Connection,2,3 
    %> 
    <script language="JavaScript" type="text/javascript"> 
    <% ' CREO L'OGGETTO JAVASCRIPT CHE E' UN CONTENITORE DI ARRAY' 
    outPut = "var valoridb = new Object();" & vbcrlf 
    while not RsMarche.eof 
    RsModelli.Filter= "idMarca = " & RsMarche("keyMarca") 
    if not RsMenu.eof then 
    outPut = outPut & "valoridb[""" & RsModelli("marca") & """] = [" & vbcrlf 
    kLoop = 0 
    while not RsModelli.eof 
    outPut = outPut & IIF(kLoop=0,"",",") &_ 
    "{value:'" & RsModelli("keyModello") &_ 
    "', text:'" & Replace(RsModelli("Modello")&"","'","'") & "'}" & vbcrlf 
    RsMenu.movenext 
    KLoop = kLoop + 1 
    wend 
    outPut = outPut & "];"& vbcrlf 
    end if 
    RsMenu.Filter = "" 
    RsMarche.movenext 
    Wend 
    Response.Write outPutJs 
    RsMenu.Close 
    Set RsMenu = nothing 
    %> 
    function CreaOggetto(n, d) { // riadattata da quella di dreamcazz mx REFERENZIA LAYER (CROSSBROWSER) 
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; 
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=CreaOggetto(n,d.layers[i].document); 
    if(!x && d.getElementById) x=d.getElementById(n); return x; 
    } 
    
    function ScriviTesto(NomeLayer,x,Testo) // FUNZIONE PER SCRIVERE NEL LAYER (CROSSBROWSER) 
    { 
    objLayer = CreaOggetto(NomeLayer); 
    if (objLayer.document.layers) 
    { 
    objLayer.document.write(unescape(Testo)); 
    objLayer.document.close(); 
    }
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.