+ Rispondi alla Discussione
Risultati da 1 a 2 di 2

problema con javascript e php

Ultimo Messaggio di kalten1 il:
  1. #1
    User Newbie
    Data Registrazione
    Mar 2014
    Località
    Lugano
    Messaggi
    1

    problema con javascript e php

    Ciao a tutti, ho un piccolo problema con javascript e php che non mi lascia dormire e spero voi possiate aiutarmi.
    Allora, sto cercando di costruire delle select che si auto aggiornano in seguito alla precedente select. Il tutto prende i dati da una sola tabella MySQL.
    Ho trovato il seguente script sul web ma non riesco ad adattarlo in modo che la terza select si aggiorni in funzione delle DUE precedenti e non solo della precedente. Spero possiate aiutarmi e vi ringrazio già in anticipo.

    index.php:

    Codice PHP:
    <?php   include('db.php');  include('func.php');?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Chained Select Boxes using PHP, MySQL and jQuery</title><script type="text/javascript" src="ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    <script type="text/javascript">$(document).ready(function() {    $('#wait_1').hide();    $('#drop_1').change(function(){      $('#wait_1').show();      $('#result_1').hide();      $.get("func.php", {        func: "drop_1",        drop_var: $('#drop_1').val()      }, function(response){        $('#result_1').fadeOut();        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);      });        return false;    });});
    function finishAjax(id, response) {  $('#wait_1').hide();  $('#'+id).html(unescape(response));  $('#'+id).fadeIn();}function finishAjax_tier_three(id, response) {  $('#wait_2').hide();  $('#'+id).html(unescape(response));  $('#'+id).fadeIn();}</script></head>
    <body><p><form action="" name="form" method="post">      <select name="drop_1" id="drop_1">          <option value="" selected="selected" disabled="disabled">Select a Category</option>            <?php getTierOne(); ?>        </select><br>        <span id="wait_1" style="display: none;">    <img alt="Please Wait" src="ajax-loader.gif"/>    </span>    <span id="result_1" style="display: none;"></span><br>    <span id="wait_2" style="display: none;">    <img alt="Please Wait" src="ajax-loader.gif"/>    </span>    <span id="result_2" style="display: none;"></span><br>  </form></p><p><?php if(isset($_POST['submit'])){    $drop $_POST['drop_1'];    $drop_2 $_POST['drop_2'];    $drop_3 $_POST['drop_3'];    echo "You selected a ";    echo $drop_3." ".$drop." ".$drop_2;}?></body></html>
    func.php:

    Codice PHP:
    <?php//**************************************//     Page load dropdown results     ////**************************************function getTierOne(){    $result = mysql_query("SELECT DISTINCT tier_one FROM three_drops")     or die(mysql_error());
          
    while($tier mysql_fetch_array$result ))           {           echo '<option value="'.$tier['tier_one'].'">'.$tier['tier_one'].'</option>';        }
    }
    //**************************************//     First selection results     ////**************************************if($_GET['func'] == "drop_1" && isset($_GET['func'])) {    drop_1($_GET['drop_var']); }
    function drop_1($drop_var){      include_once('db.php');    $result mysql_query("SELECT DISTINCT tier_two FROM three_drops WHERE tier_one='$drop_var'")     or die(mysql_error());        echo '<select name="drop_2" id="drop_2">          <option value=" " disabled="disabled" selected="selected">Choose one</option>';
               while(
    $drop_2 mysql_fetch_array$result ))             {              echo '<option value="'.$drop_2['tier_two'].'">'.$drop_2['tier_two'].'</option>';            }        echo '</select>';    echo "<script type=\"text/javascript\">$('#wait_2').hide();    $('#drop_2').change(function(){      $('#wait_2').show();      $('#result_2').hide();      $.get(\"func.php\", {        func: \"drop_2\",        drop_var: $('#drop_2').val()      }, function(response){        $('#result_2').fadeOut();        setTimeout(\"finishAjax_tier_three('result_2', '\"+escape(response)+\"')\", 400);      });        return false;    });</script>";}

    //**************************************//     Second selection results     ////**************************************if($_GET['func'] == "drop_2" && isset($_GET['func'])) {    drop_2($_GET['drop_var']); }
    function drop_2($drop_var){      include_once('db.php');    $result mysql_query("SELECT * FROM three_drops WHERE tier_two='$drop_var'")     or die(mysql_error());        echo '<select name="drop_3" id="drop_3">          <option value=" " disabled="disabled" selected="selected">Choose one</option>';
               while(
    $drop_3 mysql_fetch_array$result ))             {              echo '<option value="'.$drop_3['tier_three'].'">'.$drop_3['tier_three'].'</option>';            }        echo '</select><br>';    echo '<input type="submit" name="submit" value="Submit" />';}?>

  2. #2
    User
    Data Registrazione
    Jun 2011
    Località
    abbiategrasso
    Messaggi
    12
    ciao, io ho trovato questo codice su internet, che funziona e si può adattare facilmente

    Index

    Codice PHP:
    <!DOCTYPE html>
    <
    html>
        <
    head>
            <
    title>Comuni italiani</title>
            <
    meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <
    script src="jquery-latest.min.jstype="text/javascript"></script>
            <style type="text/css">
                div.ricerca {
                    line-height: 34px;
                }
                div.ricerca span {
                    display: inline-block;
                    width: 110px;
                    text-align: right;
                    padding-right: 4px;
                }
            </style>
            <script type="text/javascript">
                $(document).ready(function(){
                    comuni();
                    $("select").change(function(){
                        comuni();
                    })
                })
                function comuni() {                
                    $.ajax({
                        type: "POST",
                        url: "comuni.php",
                        data: $("#ricerca").serialize(),
                        success: function(response){
                            eval(response);
                        }
                    }); 
                }
            </script>
        </head>
        <body>
            <div class="ricerca">
                <form id="ricerca">
                    <span>Regione :</span>
                    <select name="regione">
                        <option value=""></option>
                    </select><br/>
                    <span>Provincia :</span>
                    <select name="provincia">
                        <option value=""></option>
                    </select><br/>
                    <span>Comune :</span>
                    <select name="comune">
                        <option value=""></option>
                    </select>
                </form>
            </div>
        </body>
    </html


    Comuni.php
    Codice PHP:
    <?php
    // recupero vaolori delle select
    $regione $_REQUEST['regione'];
    $provincia $_REQUEST['provincia'];
    $comune $_REQUEST['comune'];
    // mi connetto al database
    $sql = new mysqli("localhost""root""""database");
    // estraggo tutte le regioni
    $query "SELECT * FROM regioni";
    $result $sql->query($query);
    // svuoto la select regione
    echo "$('select[name=\"regione\"]').empty();";
    // aggiungo una option vuota
    echo "$('select[name=\"regione\"]').append('<option value=\"\"></option>');";
    // ciclo i risultati della query
    while ($row $result->fetch_array(MYSQLI_ASSOC)) {
        
    // imposto il selected sull'eventuale regione scelta
        
    $selected "";
        if (
    $row['idRegione'] == $regione) {
            
    $selected "selected=\"selected\"";
        }
        
    // popolo la select
        
    echo "$('select[name=\"regione\"]').append('<option $selected value=\"" $row['idRegione'] . "\">" addslashes($row['nomeRegione']) . "</option>');";
    }
    // se è stata scelta una regione
    if (!empty($regione)) {
        
    // estraggo le province della regione scelta
        
    $query "SELECT * FROM province WHERE idRegione ='$regione'";
        
    $result $sql->query($query);
        
    // svuoto la select provincia
        
    echo "$('select[name=\"provincia\"]').empty();";
        
    // aggiungo una option vuota
        
    echo "$('select[name=\"provincia\"]').append('<option value=\"\"></option>');";
        
    // ciclo i risultati della query
        
    while ($row $result->fetch_array(MYSQLI_ASSOC)) {
            
    // imposto il selected sull'eventuale provincia scelta
            
    $selected "";
            if (
    $row['siglaProvincia'] == $provincia) {
                
    $selected "selected=\"selected\"";
            }
            
    // popolo la select
            
    echo "$('select[name=\"provincia\"]').append('<option $selected value=\"" $row['siglaProvincia'] . "\">" addslashes($row['nomeProvincia']) . "</option>');";
        }
    }
    // se è stata scelta una provincia
    if (!empty($provincia)) {
        
    // estraggo i comuni della provincia scelta
        
    $query "SELECT * FROM comuni WHERE provincia ='$provincia'";
        
    $result $sql->query($query);
        
    // svuoto la select comune
        
    echo "$('select[name=\"comune\"]').empty();";
        
    // aggiungo una option vuota
        
    echo "$('select[name=\"comune\"]').append('<option value=\"\"></option>');";
        
    // ciclo i risultati della query
        
    while ($row $result->fetch_array(MYSQLI_ASSOC)) {
            
    // imposto il selected sull'eventuale comune scelto
            
    $selected "";
            if (
    $row['Istat'] == $comune) {
                
    $selected "selected=\"selected\"";
            }
            
    // popolo la select
            
    echo "$('select[name=\"comune\"]').append('<option $selected value=\"" $row['Istat'] . "\">" utf8_encode(addslashes($row['Comune'])) . "</option>');";
        }
    }
    ?>

    non so se puo aiutarti

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.