Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Passare dato ad un modulo dopo una select

    Ciao a tutti
    questo è il mio primo post. su questo forum/sito, ho già trovate molte cose utili però ahimé non trovo soluzione a questo mio piccolo problema( premetto che un pò di linguaggio lo conosco però propio la base)

    Devo popolare un campo in seguito a delle scelte fatte tramite select coi dati presi da un database tramite MYSQL ,spiego meglio:

    Prima scelgo il costruttore, poi il modello, poi la targa e infine vorrei che ci fosse un campo che si completa in automatico con il N° di telaio poiché univoco rispetto alla targa.

    Questo è il codice abbozzato, che sò che non funziona.. cosa dovrei cambiare?
    Codice PHP:
    <div id="SelectAC_Container">
        <div id="split4_info">
            <label for="operatorID" class="Input_Title_Info"> Costruttore    <select name="OPERATOR" id="operator" style="width:100px;"> </select></label>
            <label class="Input_Title_Info"> Modello : <select name="TYPE" id="TYPE"  style="width:80px;"> </select></label>
            <label class="Input_Title_Info"> Targa :<select name="REGISTRATION"   id="registrationID" style="width:115px;"></select></label>
                            <?php
                            $_query
    =   "SELECT msn
                                    FROM aircraft
                                    WHERE (registration='
    $registration')";
                            
    $result     mysql_query($query);
                            
    $row       mysql_fetch_row($result);
                            
    $msn       $row[0];
                            
    ?>
            <label class="Input_Title_Info"> MSN : [COLOR=red][I][B]--che scrivo qui??--[/B][/I][/COLOR]  </label>
                        </div>
                    </div>
    la mia domanda è.. come faccio a passare la scelta fatta tramite la select (variabile che ho chiamato $registration) per poi andare a pescare nel db il numero di telaio una volta che ho scelto la targa e quindi andarlo a mettere in un campo non modificabile??

    Spero mi possiate aiutare
    Andrea

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Se non vuoi ricaricare la pagina PHP non ti basta, ti serve anche AJAX.

  3. #3
    va benissimo usare anche ajax -di cui per ora ho solo sentito il nome ma non ho ancora dato un'occhiata alla guida-..

    mi si complica tanto la faccenda??
    è facile da imparare o è tosto?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non è difficilissimo usare AJAX per fare questa cosa, se già ne sai un po' di Javascript ti risulterà ancora più facile.

    Da un'occhiata qui.

  5. #5
    grazie mille..

    nel mentre che aspettavo risposte ho cercato per internet è ho trovato QUI una funzione che fa quello che voglio io e l'ho modificata però non riesco a farla funzionare

    Codice PHP:
    <script type="text/javascript">
    var xmlhttp;

    function mostraInfo(str)
    {
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
    alert ("Browser does not support HTTP Request");
    return;
    }
    var url="function1.php";
    url=url+"?q="+str;
    xmlhttp.onreadystatechange=stateChanged;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
    }

    function stateChanged()
    {
    if (xmlhttp.readyState==4)
    {
    document.getElementById("info").innerHTML=xmlhttp.responseText;
    }
    }

    function GetXmlHttpObject()
    {
    if (window.XMLHttpRequest)
    {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
    // code for IE6, IE5
    return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
    }
    </script>

    <form>
    Seleziona registration:
    <select name="A/C" onChange="mostraInfo(this.value)">
    <?php  
    //Seleziono i veicoli
    $connessione mysql_connect('localhost''root''XXX');
    mysql_select_db("XXXXX"$connessione);
    $query "SELECT type, model, registration FROM `vehicle` ORDER BY registration ";
    $result mysql_query($query);
    while(
    $riga mysql_fetch_array($result)){
    echo 
    "<option value='$riga[id]'>$riga[registration] - $riga[type]_$riga[model] </option>";
    }
    ?>
    </select>
    </form>


    <div id="info"></div>
    questo è il file function1.php che viene richiamato:
    Codice PHP:
    <?php
    $q
    =$_GET["q"];
    require(
    'dbConn.ini.php');
    $con mysql_connect($host,$user,$password);
    mysql_select_db($dbName);
    $sql=   "SELECT msn
           FROM vehicle
              WHERE registration='"
    .$q."'";
    $result mysql_query($sql);

        while(
    $row mysql_fetch_array($result))
            {    
            echo 
    "<td>"  .$row['msn'] ."</td>";
            }
    mysql_close($con);
    ?>
    così sia in Firefox-Chrome e IE9 mi permette di scegliere il veicolo ma una volta selezionato non mi dà nessun output..

    se invece come prova modifico function1.php così:

    Codice PHP:
    <?php
    $q
    =$_GET["q"];
    require(
    'dbConn.ini.php');
    $con mysql_connect($host,$user,$password);
    mysql_select_db($dbName);
    $sql=   "SELECT msn
            FROM vehicle
            WHERE registration= [COLOR=green][B][I]'AA123BB' [/I][/B][/COLOR] "
    //immetto manualmente la targa 
    $result mysql_query($sql);

        while(
    $row mysql_fetch_array($result))
            {    
            echo 
    "<td>"  .$row['msn'] ."</td>";
            }
    mysql_close($con);
    ?>
    allora su CHROME e FIREFOX mi dà l'output giusto..mentre su IE ancora niente output
    dov'è l'errore?

    scusate se per la lunghezza del mex

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.