select dinamiche, errore assurdo, non compare la terza select

angelo85ct

Nuovo Utente
22 Ago 2008
11
0
0
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
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">
<!-- PROVINCIA -->    
    <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>
<!-- COMUNE --><BR>
    <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>
<!-- FRAZIONE --><BR>
    <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
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
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);
         
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Select Dinamiche...da txt? PHP 3
eraclio666 [PHP] 2 SELECT DINAMICHE PHP 8
G [Javascript] select dinamiche Javascript 0
H [PHP] Select dinamiche : regioni province comuni PHP 2
H select dinamiche php mysql PHP 4
H problema con select dinamiche e javascript Javascript 0
W Select dinamiche PHP 3
criric Select dinamiche : regioni province comuni Snippet PHP 28
S Select dinamiche concatenate Ajax 8
F Problema select dinamiche con php e jquery jQuery 1
Z Select dinamiche PHP MySQL Javascript PHP 1
R select dinamiche che riportano valori in una textarea. Javascript 8
M select dinamiche con Jquery e php jQuery 9
V Select dinamiche in php PHP 1
L Select dinamiche - stampa ID e non il valore PHP 3
F Select Dinamiche in fase di modifica Classic ASP 1
L Aiuto per select dinamiche in asp Classic ASP 3
F Select dinamiche con ASP & AJAX Ajax 11
J Select automatiche o dinamiche PHP 3
L problema con query select PHP 2
F menù select dinamico da db in php PHP 3
D popolare campi tra th alla select PHP 36
M Estrarre valore con SELECT COUNT PHP 0
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
E Php select option e ajax PHP 23
R Select concatenata che non funziona la seconda volta Ajax 3
L select join e sottrazione punti PHP 13
L input dati con inser into select ? PHP 4
V hierarchy-select jQuery 0
Emix Select concatenate php sql ajax PHP 2
F query e form con select multipla PHP 17
T recupero valori select multipla da android Javascript 3
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
Tommy03 Select in ordine per numero di record MySQL 7
T problema con select dinamica con jquery Javascript 0
J Far comparire e scomparire un div con un select Javascript 1
M Opzioni select da 1 a 200 PHP 0
C input in sostituzione della select PHP 2
G Insert into select - Aiuto MySQL 0
max1974 autocomplete trigger select jQuery 0
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
M Estrarre dati da una select HTML PHP 3
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
M [PHP] Problema con query select PHP 2
C [PHP] Controllo <select> comportamento anomalo PHP 2
G [PHP] Select con opzioni dipendenti da un'altra select PHP 3

Discussioni simili