Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Campi select dinamici presi da DB con PHP

    Ciao a tutti, devo realizzare un form con due campi select dinamici, ho cercato un po' sul forum e avrei trovato quello che fa per me in questo tread

    Diciamo che sarebbe quello che serve a me, e diciamo pure che sarei riuscito ad adattarlo al mio scopo, si puo' vedere un esempio qui

    Il mio problema e' che a volte potrebbero esserci delle non uguaglianze tra il listino e le sottocategorie, mi spiego meglio, nella pagina di esempio se si scorre sulla prima select fino a prova nell'altra select non compare nulla (la categoria prova non ha sottocategorie...) e questo genera un piccolo errore quando uno preme il tasto MODIFICA (Proprieta' o metodo non supportati dall'oggetto...)



    Come potrei ovviare al problema, magari facendo comparire nell'altro campo select solo il nome della categoria duplicato se la categoria non contiene sottocategorie ?

    Vi posto il codice della pagina prova.php

    codice:
    
    <HTML> 
    <HEAD> 
    <script language="javascript"> 
    function objProvincia(codice,nome){ 
    this.codice=codice 
    this.nome=nome 
    } 
    function objRegione(nome,province){ 
    this.nome = nome 
    this.province = province 
    } 
    var regioni = new Array() 
    
    
    <?php  
    $q = mysql_query("SELECT * FROM listino WHERE attivo = '0' ORDER BY nome_listino");  
    while($r = mysql_fetch_assoc($q)) { //scandisci il listino 
    print "province = new Array();"; 
    $q2 = mysql_query("SELECT * FROM sottocategorie WHERE categoria = '$r[nome_listino]' AND attivo_sot = '0' ORDER BY nome_sottocategoria");  
    while($r2 = mysql_fetch_assoc($q2)) { //scandisci tutte le sottocategorie 
    print "province[province.length]=new objProvincia(\"$r2[id]\",\"$r2[nome_sottocategoria]\");"; 
    }  
    print "regioni[regioni.length]=new objRegione(\"$r[nome_listino]\",province);"; 
    }  
    ?>  
    
    
    function creaRegioni(){ 
    oo = document.NomeForm.regione.options 
    for(i=0;i<regioni.length;i++) 
    oo[oo.length]=new Option(regioni[i].nome,regioni[i].nome) 
    } 
    function svuotaOption(oo){ 
    for(i=(oo.length-1);i>=0;i--) 
    oo[i]=null 
    } 
    function filtraProvince(reg){ 
    oo = document.NomeForm.provincia.options 
    svuotaOption(oo) 
    if(reg=='')oo[oo.length]=new Option('Selezionare la Regione','') 
    else{ 
    for(i=0;i<regioni.length;i++) 
    if(regioni[i].nome==reg){ 
    pro = regioni[i].province 
    for(j=0;j<pro.length;j++) 
    oo[oo.length]=new Option(pro[j].nome,pro[j].codice) 
    i=regioni.length 
    } 
    } 
    } 
    
    function vai(ff){ 
    pro = ff.provincia.options[ff.provincia.selectedIndex].value 
    
    } 
    </script> 
    </HEAD> 
    <BODY onload="creaRegioni()"> 
    
    <form action="prova11.php" method="post" name="NomeForm"> 
    <select name="regione" onchange="filtraProvince(this.options[this.selectedIndex].value)"> 
    <option value="">Selezionare...</option> 
    <option value="">---------------</option> 
    </select> 
    <select name="provincia"> 
    <option value="">Selezionare la Regione</option> 
    </select> 
    <input type="submit" name="NomeForm" value="Modifica" onclick="vai(this.form)"> 
    
    </form> 
    </BODY> 
    </HTML>
    Il fatto e' che mi da proprio fastidio che compaia un errore anche se impercettibile per un istante al clik del bottone.
    Aiutoooo...E grazie 1000 per la pazienza !

    Micky

  2. #2
    Chiedo venia....Mi cospargo il capo di cenere e cammino in ginocchio sui ceci.....

    Ho toppato clamorosamente...Volevo mettere questo messaggio in Scripting e non in Programmazione.

    Se gentilmente qualche admin puo' cancellarlo o spostarlo...

    Scusate

  3. #3
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    dato che č giā sato postato in php chiudo
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

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.