Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 46 a 60 su 74
  1. #46

    che mito

    script eccezionale....bravo max!!!

  2. #47
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: che mito

    Originariamente inviato da biafuo83
    script eccezionale....bravo max!!!
    Mandagli un messaggio privato

    E leggi il regolamento

    Benvenuto sul forum
    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

  3. #48

    problema passaggio value della select da "id" a "nome"

    ciao max...ho bisogno di te.
    Premetto che ho letto tutti i post precedenti e il problema che sto esponendo è stato già presentato. Parlo del fatto che nel value della select vorremmo vedere il "Name" e non l'id.

    Io ho provato a risolverlo in questo modo:

    con questi 3 "post" prendo i valori delle tre select in "formato" id.

    if ( isset($_POST['l3']) ) {
    // Esegui operazioni
    $citta=$_POST['l3'];
    }
    if ( isset($_POST['l2']) ) {
    // Esegui operazioni
    $provincia=$_POST['l2'];
    }
    if ( isset($_POST['l1']) ) {
    // Esegui operazioni
    $regione=$_POST['l1'];
    }



    a quel punto faccio una sorta di trasformazione e con questa query vado a fare la corrispondenza tra id e nome nelle tre tabelle famose l1, l2, l3:

    $no2 ="SELECT l1_name FROM l1 WHERE l1_id='$regioneM'";
    $ris = mysql_query($no2)or die("Errore nella query: " . mysql_error());
    while($riga1 = mysql_fetch_array($ris)) {
    $regioneM1= $riga1[l1_name];
    }



    $no4 ="SELECT l3_name FROM l3 WHERE l3_id='$cittaM'";
    $ris2 = mysql_query($no4)or die("Errore nella query: " . mysql_error());
    while($riga3 = mysql_fetch_array($ris2)) {
    $cittaM1= $riga3[l3_name];
    }


    $malvio ="SELECT * FROM l4 WHERE id='$provinciaM'";
    $malvio2 = mysql_query($malvio)or die("Errore nella query: " . mysql_error());
    while($malvio3 = mysql_fetch_array($malvio2)) {
    $provinciaM1= $malvio3[l4_name];
    }


    infine pronviciaM1, cittaM1, regioneM1 li vado a scrivere in un'altra tabella.
    Ora all'inizio tutto sembrava perfetto ma ho notato che in realtà il campo provinciaM1 a volte viene scritto e a volte no, mentre Regione e Citta vengono sempre scritti.

    In conclusione dico avete idea per quale motivo? oppure Max mi fai il miracolo e mi posti il codice che mi dia immediatamente nel Value della Select il nome e non l'id??

    grazie in anticipo Biafuo83

  4. #49
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    10

    Test di compatibilità du browsers

    Ciao a tutti e complmenti all'ideatore di questo script...

    Ho testato il tutto su più browsers e questo è il risultato:

    IE 6.0
    ----------------------
    Select 1: OK
    Select 2: Ok
    Select 3: Ok

    FLOCK 1.0.9
    ----------------------
    Select 1: OK
    Select 2: Ok
    Select 3: Ok


    MOZILLA FIREFOX 3.0.4
    ----------------------
    Select 1: OK
    Select 2: Ok
    Select 3: Ok


    OPERA 9.24
    ----------------------
    Select 1: OK
    Select 2: Loading...
    Select 3: Disabilitato


    SAFARI 3.1.2 (su windows xp)
    ----------------------
    Select 1: OK
    Select 2: Loading...
    Select 3: Disabilitato


    GOOGLE CHROME 1.0
    ----------------------
    Select 1: OK
    Select 2: Loading...
    Select 3: Disabilitato

    Spero di essere stato utile ...

  5. #50
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    10

    Codice modificato per Regioni Province Comuni

    Cercando su internet ho trovato un database sql proto da esportare
    popolato con tutte le Regioni Province e Comuni d'italia e scaricabile al seguente indirizzo web: http://www.sarnari.net/programmazion...atabase-mysql/

    In seguito ho cambiato per esigenza personale i dati delle tabelle da così:

    regioni____________ province____________comuni
    idregione –>________idregione___________idcomune
    nomeregione_______idprovincia –>_______idprovincia
    __________________siglaprovincia_______nomecomune
    __________________nomeprovincia


    a così:

    regioni_____________province____________comuni
    id –>______________id_regione___________id
    regione____________id –>_______________id_provincia
    __________________siglaprovincia________comune
    __________________provincia


    di seguito ho modificato il codice per adattarlo al nuovo database nel seguente modo:

    pagina getCity.php
    codice:
    <? 
      include('inc/conn.inc.php'); 
      include('inc/class/select.class.php'); 
      $id = $_REQUEST['id']; 
      //$id = 7; 
      $obj = new select(); 
      $comuni = $obj->getL3($id); 
      $Js = ''; 
      for($y=0;$y<count($comuni);$y++){ 
        if($y < (count($comuni)-1)){ 
          $end = ","; 
        }else{ 
          $end = ""; 
        } 
        $Js .= $comuni[$y]['id']."-".$comuni[$y]['comune'].$end; 
      } 
      echo $Js; 
    ?>
    pagina getState.php
    codice:
    <? 
      include('inc/conn.inc.php'); 
      include('inc/class/select.class.php'); 
      $id = $_REQUEST['id']; 
      $obj = new select(); 
      $regioni = $obj->getL1($id); 
      $Js = ''; 
      for($x=0; $x<count($regioni); $x++){ 
        $province = $obj->getL2($regioni[$x]['id']); 
        for($y=0;$y<count($province);$y++){ 
          if($y < (count($province)-1)){ 
            $end = ","; 
          }else{ 
            $end = ""; 
          } 
          $Js .= $province[$y]['id']."-".$province[$y]['provincia'].$end; 
        } 
      }    
      //echo "text"; 
      echo $Js; 
    ?>
    pagina index.php
    codice:
    <? 
      include('inc/conn.inc.php'); 
      include('inc/class/select.class.php'); 
      $obj = new select(); 
      $regioni = $obj->getL1(); 
    ?> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it"> 
    <head> 
        <title>Select dinamiche con dati provenienti da Database</title> 
    <script type="text/javascript"> 
    
    var http = createRequestObject(); 
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null; 
    
    function createRequestObject() { 
         var ro; 
         var browser = navigator.appName; 
         if(browser == "Microsoft Internet Explorer"){ 
              ro = new ActiveXObject("Microsoft.XMLHTTP"); 
         }else{ 
              ro = new XMLHttpRequest(); 
         } 
         return ro; 
    } 
    
    function addElement(ogg,val,text){ 
      var newOption; 
      newOption = document.createElement("option"); 
      newOption.value = val; 
      newOption.text = text; 
      ogg.add(newOption, where);     
    } 
    
    function removeElement(ogg){ 
      if(ogg.options.length > 0){ 
        while (ogg.options.length) { 
          ogg.remove(0); 
        }     
      } 
    } 
    
    function disabledElement(ogg,val){ 
      document.getElementById(ogg).disabled = val; 
    } 
    
    function loadingState(oggId){ 
      var id = document.getElementById(oggId).value; 
      var City = document.getElementById('comuni'); 
      // inizializzazione Città   
      removeElement(City); 
      addElement(City,'sel','Seleziona una Città:'); 
      disabledElement('comuni',true); 
      http.open('GET','getState.php?id='+id, true); 
      http.onreadystatechange = getState; 
      http.send(null);   
    } 
    
    function loadingCity(oggId){ 
      var id = document.getElementById(oggId).value; 
      http.open('GET','getCity.php?id='+id, true); 
      http.onreadystatechange = getCity; 
      http.send(null);   
    } 
    
    function getState(){ 
      var State = document.getElementById('province'); 
      removeElement(State); 
      id = document.getElementById('regioni').value; 
      if(id == 'sel'){ 
        disabledElement('province',true); 
        addElement(State,'sel','Seleziona prima un Continente:'); 
      }else{ 
        if(http.readyState == 4){ 
          if (http.status == 200) { 
               var response = http.responseText; 
            if(response == ''){ 
              disabledElement('province',true); 
              addElement(State,'sel','Nessuno Stato Presente'); 
            }else{ 
              removeElement(State); 
              coppia = response.split(','); 
              max = coppia.length; 
              addElement(State,'sel','Seleziona uno Stato:'); 
              for(x=0;x<max;x++){ 
                val = coppia[x].split('-'); 
                addElement(State,val[0],val[1]); 
              } 
              disabledElement('province',false); 
            } 
             } 
        }else{ 
          addElement(State,'sel','Loading...'); 
        } 
      } 
    } 
    
    function getCity(){ 
      var City = document.getElementById('comuni'); 
      removeElement(City); 
      id = document.getElementById('province').value; 
      if(id == 'sel'){ 
        disabledElement('comuni',true); 
        addElement(City,'sel','Seleziona una Città:'); 
      }else{ 
        if(http.readyState == 4){ 
          if (http.status == 200) { 
               var response = http.responseText; 
            if(response == ''){ 
              disabledElement('comuni',true); 
              addElement(City,'sel','Nessuna voce'); 
            }else{ 
              removeElement(City); 
              coppia = response.split(','); 
              max = coppia.length; 
              addElement(City,'sel','Seleziona una Città:'); 
              for(x=0;x<max;x++){ 
                val = coppia[x].split('-'); 
                addElement(City,val[0],val[1]); 
              } 
              disabledElement('comuni',false); 
            } 
             } 
        }else{ 
          addElement(City,'sel','Loading...'); 
        } 
      } 
    } 
    </script> 
    
    </head> 
    <body> 
    <form name="form"> 
    <div id="content"> 
      <div id="label1"> 
        Select 1 
      </div> 
      <div id="select1"> 
        <select name="regioni" id="regioni" onChange="loadingState('regioni')"> 
         <option value="sel" selected="selected">Seleziona un Continente:</option> 
         <? 
           for($x=0;$x<count($regioni);$x++){ 
         ?> 
         <option value="<?=$regioni[$x]['id']?>"><?=$regioni[$x]['regione']?></option> 
         <? 
           } 
         ?> 
        </select> 
      </div> 
      <div id="label2"> 
        Select 2 
      </div> 
      <div id="select2"> 
        <select name="province" id="province" onChange="loadingCity('province')" disabled> 
        <option value="sel" selected="selected">Seleziona uno Stato:</option> 
        </select>   
      </div>   
      <div id="label3"> 
        Select 3 
      </div> 
      <div id="select3"> 
        <select name="comuni" id="comuni" disabled> 
        <option value="sel" selected="selected">Seleziona una Città:</option> 
        </select>   
      </div>     
    </div> 
    </form> 
    </body> 
    </html>
    pagina getState.php
    codice:
    <?php 
    class select{ 
    
      function select(){ 
      } 
       
      function getL1($id=''){ 
        if(!empty($id)){ 
          $sSQL = "SELECT * FROM regioni WHERE id = $id"; 
        }else{ 
          $sSQL = "SELECT * FROM regioni Order by id"; 
        }     
        $ris = mysql_query($sSQL); 
        while($row = mysql_fetch_assoc($ris)){ 
          $list[] = array('id' => $row["id"], 
                          'regione' => $row["regione"]);     
        }     
        return $list;     
      } 
       
      function getL2($id){ 
        $sSQL = "SELECT * FROM province WHERE id_regione = $id Order By id"; 
        $ris = mysql_query($sSQL); 
        while ($row = mysql_fetch_assoc($ris)) { 
          $list[] = array('id' => $row["id"], 
                          'provincia' => $row["provincia"]); 
        } 
        return $list;     
      } 
       
      function getL3($id){ 
        $sSQL = "SELECT * FROM comuni WHERE id_provincia = $id Order By id"; 
        $ris = mysql_query($sSQL); 
        while ($row = mysql_fetch_assoc($ris)) { 
          $list[] = array('id' => $row["id"], 
                          'comune' => $row["comune"]); 
        } 
        return $list;     
      }     
         
    } 
    ?>
    Ciao, ciao...

  6. #51
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    10

    Correzione...

    Cercando su internet ho trovato un database sql proto da esportare...
    Intendevo dire pronto da importare... :berto:

  7. #52
    Ciao,

    c'è una soluzione per rendere compatibile questo script anche per i browser come safari, chrome, opera o devo studiarmi un'altra soluzione senza ajax ma solo php?

    ho fatto alcune prove ma senza trovare una soluzione!!!

  8. #53
    Ciao a tutti.
    Allora io ho un problemino per una modifica su questo bello script. Vorrei introdurre una dinamicità di più, ovvero:
    partendo da questo pezzo di codice:

    codice:
    var http = createRequestObject();
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null; 
    function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    ro = new XMLHttpRequest();
    }
    return ro;
    }
    
    function getstructure(){
    
    	var unita = document.getElementById('unita');
    	var valore = unita.value;
    	var id_unita = document.getElementById('id_unita'); 
    	if (valore != '') {
    	
    
    	http.open('GET','get.php?id='+valore, true);
    	http.onreadystatechange = getState;
    	http.send(null);
    	
    	} 
    	}
    
    function getState(){
    var newOption;
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    var State = document.getElementById('id_unita');
    while (State.options.length) {
    State.remove(0);
    }
    [...]
    ...io vorrei poter rendere dinamica quel
    codice:
    var State = document.getElementById('id_unita');
    e farlo diventare qualcosa tipo:
    codice:
    var State = document.getElementById(id);
    ...quindi ho pensato di passare degli argomenti a getstructure() e getState(), ma quando provo a passare argomenti a getState(), modificando questo:
    codice:
    http.onreadystatechange = getState;
    in qualcosa dle genere:
    codice:
    http.onreadystatechange = getState(id);
    mi restituisce come errore 'Tipo non corrispondente'.

    Come faccio?

    Purtroppo mi è indispensabile trasformare i campi fissi in variabili, perchè devo creare una pagina con più coppie di menu a tendina identiche, ma indipendenti tra loro.

    Grazie mille!!

  9. #54
    Per puro caso, ho trovato la soluzione in questo topic:

    http://forum.html.it/forum/showthrea...highlight=ajax

    Posto la stringa di codice funzionante

    codice:
    http.onreadystatechange = function() { getState(id); };

  10. #55
    Scusa ma di javascript non ne capisco molto (nonostante sto cercando di imparare) ma dove andrebbe scritta la riga che hai postato?

  11. #56
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    417
    Ho letto e riletto tutti i post, ho provato a fare copia incolla di tutto, è ormail 15 giorni ma non rieco a fare funzionare niente.

    vedo che tutti siete contenti e non capisco dove sbaglio, questo regioni, province comuni mi sarebbe indispensabile per dei siti dove devo registrare utenti.

    come posso fare a capire??, ho scaricato il DB dal sito
    indicato da Rikka75 poi ho coppiato i sorgenti che ha allegato ma non funziona niente

    se potete aiutarmi sarei grato Luigi

  12. #57
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    idem ho provato pure io a copiare esattamente quello postato da rikka75 ma una volta selezionato lo stato(regione) sulla provincia appare "loading.." e poi diene disabilitato come se fosse passato un attributo non valido o non riuscisse a caricare le informazioni dal db.

    attualmente lo sto testando su IE7

  13. #58
    Utente di HTML.it L'avatar di pyotrex
    Registrato dal
    Feb 2003
    Messaggi
    554
    Ciao a tutti, io l'ho modificato secondo le mie esigenze qualche mese fa e sono sicuro che funzionava sia con IE7 che con Firefox (non ricordo la versione) adesso l'ho ripreso in mano e ho visto che con Firefox 3.5.3 non funziona, mentre con IE8 (il 7 non l'ho più) funziona
    Vivrò una vita intera e fortunatamente morirò una volta sola

  14. #59
    veramente con $_REQUEST non è che acchiappa valori, anzi per la verità non ne acchiappa manco uno.

  15. #60
    ho sbagliato scusate

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.