Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    query diverse al cambiare del valore del select (senza refresh)

    salve a tutti, ho postato questo script perchè forse è quello che potrebbe far al caso mio, ma ho bisogno di un aiuto per modificarlo.
    Devo effettuare una select * from... da db una volta scelto il valore dalla casella del select, in modo da avere una lista di record sul quale elaborare delle funzioni.
    il problema è che devo farlo tramite js in qualnto il php non mi permette di farlo senza effettuando un refresh della pagina.
    qulcuno di voi sa come modificare lo script o mgari ha a disposizione uno script + facile da gestire?
    Codice PHP:
    <script language="JavaScript" type="text/javascript">
    <!--

    // This script supports an unlimited number of linked combo boxed
    // Their id must be "combo_0", "combo_1", "combo_2" etc.
    // Here you have to put the data that will fill the combo boxes
    // ie. data_2_1 will be the first option in the second combo box
    // when the first combo box has the second option selected

    // first combo box

        
    data_1 = new Option("1""$");
        
    data_2 = new Option("2""$$");

    // second combo box

        
    data_1_1 = new Option("11""-");
        
    data_1_2 = new Option("12""-");
        
    data_2_1 = new Option("21""--");
        
    data_2_2 = new Option("22""--");
        
    data_2_3 = new Option("23""--");
        
    data_2_4 = new Option("24""--");
        
    data_2_5 = new Option("25""--");

    // third combo box

        
    data_1_1_1 = new Option("111""*");
        
    data_1_1_2 = new Option("112""*");
        
    data_1_1_3 = new Option("113""*");
        
    data_1_2_1 = new Option("121""*");
        
    data_1_2_2 = new Option("122""*");
        
    data_1_2_3 = new Option("123""*");
        
    data_1_2_4 = new Option("124""*");
        
    data_2_1_1 = new Option("211""**");
        
    data_2_1_2 = new Option("212""**");
        
    data_2_2_1 = new Option("221""**");
        
    data_2_2_2 = new Option("222""**");
        
    data_2_3_1 = new Option("231""***");
        
    data_2_3_2 = new Option("232""***");

    // fourth combo box

        
    data_2_2_1_1 = new Option("2211","%")
        
    data_2_2_1_2 = new Option("2212","%%")

    // other parameters

        
    displaywhenempty=""
        
    valuewhenempty=-1

        displaywhennotempty
    ="-select-"
        
    valuewhennotempty=0

    function change(currentbox) {
        
    numb currentbox.id.split("_");
        
    currentbox numb[1];

        
    i=parseInt(currentbox)+1

    // I empty all combo boxes following the current one

        
    while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
               (
    document.getElementById("combo_"+i)!=null)) {
             
    son document.getElementById("combo_"+i);
             
    // I empty all options except the first one (it isn't allowed)
             
    for (m=son.options.length-1;m>0;m--) son.options[m]=null;
             
    // I reset the first option
             
    son.options[0]=new Option(displaywhenempty,valuewhenempty)
             
    i=i+1
        
    }

    // now I create the string with the "base" name ("stringa"), ie. "data_1_0"
    // to which I'll add _0,_1,_2,_3 etc to obtain the name of the combo box to fill

        
    stringa='data'
        
    i=0
        
    while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&
               (
    document.getElementById("combo_"+i)!=null)) {
               eval(
    "stringa=stringa+'_'+document.getElementById(\"combo_"+i+"\").selectedIndex")
               if (
    i==currentbox) break;
               
    i=i+1
        
    }

    // filling the "son" combo (if exists)

        
    following=parseInt(currentbox)+1

        
    if ((eval("typeof(document.getElementById(\"combo_"+following+"\"))!='undefined'")) &&
           (
    document.getElementById("combo_"+following)!=null)) {
           
    son document.getElementById("combo_"+following);
           
    stringa=stringa+"_"
           
    i=0
           
    while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {

           
    // if there are no options, I empty the first option of the "son" combo
           // otherwise I put "-select-" in it

                 
    if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
                     if (eval(
    "typeof("+stringa+"1)=='undefined'"))
                        eval(
    "son.options[0]=new Option(displaywhenempty,valuewhenempty)")
                     else
                     eval(
    "son.options[0]=new Option(displaywhennotempty,valuewhennotempty)")
              else
                  eval(
    "son.options["+i+"]=new Option("+stringa+i+".text,"+stringa+i+".value)")
              
    i=i+1
           
    }
           
    //son.focus()
           
    i=1
           combostatus
    =''
           
    cstatus=stringa.split("_")
           while (
    cstatus[i]!=null) {
              
    combostatus=combostatus+cstatus[i]
              
    i=i+1
              
    }
           return 
    combostatus;
        }
    }

    //-->
    </script>

    <form>
    <select name="combo0" id="combo_0" onChange="change(this);" style="width:200px;">
        <option value="value1">-select-</option>
        <option value="value2">1</option>
        <option value="value3">2</option>
    </select>



    <select name="combo1" id="combo_1" onChange="change(this)" style="width:200px;">
        <option value="value1">  </option>
    </select>



    <select name="combo2" id="combo_2" onChange="change(this);" style="width:200px;">
        <option value="value1">  </option>
    </select>



    <select name="combo3" id="combo_3" onChange="change(this);" style="width:200px;">
        <option value="value1">  </option>
    </select>
    </form> 
    a me basterebbe così:
    dato un <select....></select>
    avrò una lista di valori in base a:
    select * from table where categoria="valore del select selezionato"
    echo query

    questo è lo pseudo codice che devo ottenere. è possibile?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    dai ragazzi io di js non ne capisco una mazza...e non so come effettuarlo, ma è così difficile riuscire a effettuara un:
    <form action=invia mail.php>
    <tr><td><select destinatari>
    <input value=diverse scelte></td></tr>

    if "selezionata una categoria visualizzo lista di utenti collegati ad essa per eliminare eventualmente alcuni destinatari indesiderati"

    se li spunto andrò ad aggiornare il db impostando un campo ad un valore che impedirà l'invio della newsletter
    <tr><td>
    "select * from table where categoria= "$valore del select"
    pippo@libero.it (check checked)
    pluto@ciccia.it (check checked)

    </td></tr>
    </form>

    ragazzi pls..non so come impostare il js per poter effetture la query. se potevo cambiare pagina era molto + facile

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Lo devi modifcare mooooolto pesantemente... a questo punto ti conviene iniziare a studiare AJAX ed utilizzarlo insieme al PHP, anche perche' con il solo javascript non puoi interfacciarti al database sul tuo server.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    eh vabbè..vorrà dire che devo cercare di far cambiare idea al capo gli faccio cambiare pagina, visualizzare l'elenco e la possibilità di spuntare e ripuntarli tutti e di mandre la mail a quel determinato gruppo... ehehe non posso mettermi a studiare ajax per fare una pagina...cmq sia sono sicuro che è + che utile..quindi devo rimboccarmi le maniche e rimettermi a studiare mannaggia!! grazie lo stesso

  5. #5
    Utente di HTML.it L'avatar di Rafio
    Registrato dal
    Mar 2005
    Messaggi
    200
    Scusa il ritardo... Se può ancora interessarti... puoi caricarti i dati in un vettore. Poi con JavaScript riempi le select. La pagina la carichi solo la prima volta
    Ciao.
    "Programmare" la vita non serve... è per questo che mi sfogo sul computer!
    :maLOL:

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    io la metto da parte..la prox volta mi tornerà utile di sicuro... per ora quel sito sta apposto bello pubblicato.
    cmq..grazie millo lo stesso

    ciao

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.