Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    3 Select Dinamiche PHP - JS

    Ciao ragazzi,
    ho provato a creare tre select dinamiche, la prima che dipende dalla seconda e la seconda della terza, con php e js.
    Le prime due funzionano tranquillamente, selezione una provicia e mi torna tutti i comuni presenti. Adesso vorrei ampliarla a tre select, faccio tutto indenticamente però neanche mi visualizza la terza select, come mai?
    Vi posto il codice:

    index.php
    Codice PHP:
    <?php 
    mysql_connect
    ("localhost","root","") or die (mysql_error());
    mysql_select_db("trinacria") or die (mysql_error());
    ?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <title>Popolare select dinamiche con AHAH</title>

    <script type="text/javascript">
    function createRequestObj(){ // creo un'istanza XMLHttpRequest
        var re;
        var browser=navigator.appName;
        if (browser=="Microsoft Internet Explorer"){ // sniff browser
            re=new ActiveXObject("Microsoft.XMLHTTP");
        } else re=new XMLHttpRequest();
        return re;
    }

    var http=createRequestObj();

    function popolaElemento(idElDaPopolare, paginaFonteDati, metodo, parametri){ // faccio una richiesta
        // alert(parametri); // debug
        var url=paginaFonteDati+"?" + parametri
        http.open(metodo, url , true)
        document.getElementById(idElDaPopolare).innerHTML="<select><option value=\"0\">caricamento in corso...</option></select>";
        http.onreadystatechange=function(){
            if (http.readyState==4 || http.readyState=="complete"){
                if (http.status == 200){
                    document.getElementById(idElDaPopolare).innerHTML=http.responseText;
                } else {
                    document.getElementById(idElDaPopolare).innerHTML="<select><option>ERRORE "+http.status+"</option></select>";
                }
            }
        }
        http.send(null);
    }

    function popolaElemento2(idElDaPopolare, paginaFonteDati, metodo, parametri){ // faccio una richiesta
        // alert(parametri); // debug
        var url=paginaFonteDati+"?" + parametri
        http.open(metodo, url , true)
        document.getElementById(idElDaPopolare).innerHTML="<select><option value=\"0\">caricamento in corso...</option></select>";
        http.onreadystatechange=function(){
            if (http.readyState==4 || http.readyState=="complete"){
                if (http.status == 200){
                    document.getElementById(idElDaPopolare).innerHTML=http.responseText;
                } else {
                    document.getElementById(idElDaPopolare).innerHTML="<select><option>ERRORE "+http.status+"</option></select>";
                }
            }
        }
        http.send(null);
    }
    </script>
    </head>
    <body>
    <h1>Esempio</h1>

        <form action="pagina.php" method="get">
        
        <label for="provincia" class="home">Provincia:</label>
        <select title="selezionare la provincia di appartenenza" name="provincia" id="provincia" onChange="javascript:popolaElemento('selectComune', 'popola.php', 'get', 'id_prov='+this.value);">
        <option value="">-----Tutte-----</option>
        <?php
        $strProvince
    =mysql_query("SELECT * FROM provincia");
        
    // scrivo la select per intero
        
    while ($result=mysql_fetch_array($strProvince)){ ?>
            <option value="<?php echo $result[0?>"><?php echo $result[1?></option>
    <?php ?>
        </select>


        <label for="comune" class="home">Comune:</label>
        <span id="selectComune">    
        <select title="selezionare il comune di appartenenza" name="comune" id="comune" onChange="javascript:popolaElemento2('selectFrazione', 'popolafraz.php', 'get', 'id_comune='+this.value);">
        <option value="">-----Tutte-----</option>
            <?php
            $strComuni
    ="SELECT * FROM comuni";
            
    $risultati2=mysql_query($strComuni$connessione) OR DIE ("Impossibile eseguire la query");
            while (
    $rs=mysql_fetch_array($risultati2)){ ?>
                <option value="<?php echo $rs[0?>"><?php echo $rs[1?></option>
    <?php ?>
        </select>
        </span>


        <label for="frazione" class="home">Frazione:</label>
        <span id="selectFrazione">
            <select title="selezionare la Frazione di appartenenza" name="Frazione" id="Frazione">
            <option value="">-----Tutti-----</option>
            <?php
            $strComuni
    ="SELECT * FROM frazione";
            
    $risultati2=mysql_query($strComuni$connessione) OR DIE ("Impossibile eseguire la query");
            while (
    $rs=mysql_fetch_array($risultati2)){ ?>
                <option value="<?php echo $rs[0?>"><?php echo $rs[1?></option>
    <?php ?>
            </select>
        </span>
        
        
    <?PHP $chiudi=mysql_close($connessione); ?>             
        </form>
    </body>
    </html>
    popola.php
    Codice PHP:
    if (isset($_GET["id_prov"])){
       
        
    $strSQL="SELECT * FROM comune";
        if (
    is_numeric($_GET["id_prov"]) AND $_GET["id_prov"]>0$strSQL.=" WHERE id_prov=".$_GET["id_prov"];
        
    $strSQL.=" ORDER BY comune";
        
    // connessione al db
        
    $connessione=mysql_connect("localhost""root""");
        
    $db=mysql_select_db("trinacria") OR DIE ("Impossibile connettersi al database");
        
    $risultati=mysql_query($strSQL$connessione) OR DIE ("Impossibile eseguire la query");
        
    // scrivo la select per intero
        
    echo "<select title=\"selezionare il comune di appartenenza\" name=\"comune\" id=\"comune\"><option value=\"0\">-----Tutti-----</option>";
        while (
    $rs=mysql_fetch_array($risultati)){
            echo 
    "<option value=\"".$rs["id_comune"]."\">".htmlentities($rs["comune"])."</option>";
        }
        echo 
    "</select>";
        
    //$chiudi=mysql_close($connessione);
             


    popolafraz.php
    Codice PHP:
    if (isset($_GET["id_comune"])){
       
        
    $strSQL="SELECT * FROM frazione";
        if (
    is_numeric($_GET["id_comune"]) AND $_GET["id_comune"]>0$strSQL.=" WHERE id_comune=".$_GET["id_comune"];
        
    $strSQL.=" ORDER BY frazione";
        
    // connessione al db
        
    $connessione=mysql_connect("localhost""root""");
        
    $db=mysql_select_db("trinacria") OR DIE ("Impossibile connettersi al database");
        
    $risultati=mysql_query($strSQL$connessione) OR DIE ("Impossibile eseguire la query");
        
    // scrivo la select per intero
        
    echo "<select title=\"selezionare la frazione di appartenenza\" name=\"frazione\" id=\"frazione\"><option value=\"0\">-----Tutti-----</option>";
        while (
    $rs=mysql_fetch_array($risultati)){
            echo 
    "<option value=\"".$rs["id_fraz"]."\">".htmlentities($rs["frazione"])."</option>";
        }
        echo 
    "</select>";
        
    $chiudi=mysql_close($connessione);
             


  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    9
    Pure io ci sto impazzendo, ma il tuo codice non è completo manca pagina.php o sbaglio
    io comnque sto cercando di utilizzare questo codice che ho trovato quì:
    http://forum.html.it/forum/showthrea...lect+dinamiche
    è fatto in js + php e mysql
    il problema e che non so come ricavare il valore l3_id da mandare ad una pagina prova.php per processare poi questo valore.
    Dacci un'occhiata forse tu riesci a risolvere il problema
    Grazie
    Lanfranco Schillaci

  3. #3

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.