Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    implementare ajax alla mia pagina

    ciao a tutti ragazzi... il mio problema è questo....
    devo testare il famoso ajax....purtroppo le mie conoscenza Js sono molto limitate... vediamo se riuscite a darmi una mano...
    l'idea è molto semplice...
    da una pagina chiamata regioni.php selezione appunto la regione...
    nel mio database per esempio il Veneto con id=1 ha le sue provincie
    la Lombardia con id = 2 ha invece le sue...
    cosa voglio che succeda?
    semplice, dal mio menu dove seleziono la regione, tramite ajax devono "uscirmi" le provincie...su un menu chiamato provincie

    da regione.php passo tramite $_POST l'id regione ad una pagina chiamata elabora.php
    che non fa nient'altro che farmi una query per vedere appunto quali provincie corrispondono alla regione in $_POST...
    il risultato lo printo in XML
    per qui
    da regione.php dal menu selezione "Veneto" ---> $_POST a elabora.php
    da elabora.php query select provincie where id_regione = $_POST
    echo in output ( o in un file.xml )
    <?xml version="1.0" ?>
    - <root>
    <record>treviso</record>
    <record>venezia</record>
    <record>vicenza</record>
    <record>verona</record>
    <record>belluno</record>
    <record>rovigo</record>
    <record>padova</record>
    </root>

    questi dati poi devono essere rimandati appunto a regioni.php per compilare il menu delle province...

    guardandomi un po' in giro nei vari tutorial...ed esempi...ho provato a buttarci dentro i codici js adattando il tutto allae mie esigenze... ma niente da fare...
    nn mi funge...

    help me please







    vi posto il codice di regione.php

    <?php

    //connessione database test
    include ("funzioni.php");
    test();
    ?>

    <HTML>
    <HEAD>
    <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
    <TITLE>TEST AJAX</TITLE>
    </HEAD>

    <BODY>

    MODULO - TEST PER AJAX


    <form method="post" action="elabora.php">

    <p align="left" style="word-spacing: -1">
    <font face="Arial" size="1">REGIONE :

    <select name="regione" onChange="submit();" style="font-family: Arial; font-size: 8 pt; font-weight: bold" size="1">
    <option value=""> seleziona regione </option>

    <?php

    $reg = mysql_query ("select distinct grp_id,regione from regioni") or die (mysql_error());
    while ($row = mysql_fetch_array ($reg))
    {
    $id = $row[grp_id];
    $regione = $row[regione];


    echo '<option value='.$id.'>'.$row[regione].'</option>';
    }

    echo "</select>";

    ?></font>



    <p align="left" style="word-spacing: -1">
    <font face="Arial" size="1">PROVINCIE:
    <select name="provincia" style="font-family: Arial; font-size: 8 pt; font-weight: bold" size="1">
    <option value=""> provincia </option>
    </select>

    ?></font>




    </form>




    </BODY>
    </HTML>


    Ecco invece cosa fa elabora.php

    <?php

    //connessione database test
    include ("funzioni.php");
    test();


    $idregione = $_POST ['regione'];
    //$idregione = $_GET ['regione'];

    $prov = mysql_query ("select * from regioni where grp_id = '$idregione'") or die (mysql_error());


    $str="<?xml version=\"1.0\" ?>\r\n";
    $str.="<root>";


    while ($row=mysql_fetch_assoc($prov))

    {

    $str .="<record>".$row['provincia']."</record>";

    }

    $str .="\r\n";
    $str .="</root>";


    echo $str;



    /**
    * poi alla fine del ciclo apri il tuo file e ci scrivi dentro $str.
    * il file ovviamente deve stare in una cartella che abbia i
    * permessi di scrittura, alla fine chiuderai il file
    */


    $handle=fopen("file.xml", "w+");
    if (!fwrite($handle,$str))
    die("si è verificato un errore durante la scrittura");
    fclose($handle);


    ?>

  2. #2
    io in regioni.php ho provato a mettere questo codice...

    ma poi in elabora.php
    cosa devo recuperare e reinviare???



    le modifiche su regioni.php in base a questo JS sono :
    1 - <form method="post" action="elabora.php" name="test">
    2 - sul evento del menu <select name="regione" onChange="submit();"


    <script language="Javascript">
    function xmlhttpPost(strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Xhr per Mozilla/Safari/Ie7
    if (window.XMLHttpRequest) {
    self.xmlHttpReq = new XMLHttpRequest();
    }
    // per tutte le altre versioni di IE
    else if (window.ActiveXObject) {
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
    if (self.xmlHttpReq.readyState == 4) {
    updatepage(self.xmlHttpReq.responseText);
    }
    }
    self.xmlHttpReq.send(getquerystring());
    }

    function getquerystring() {
    var form = document.forms['test'];
    var word = form.word.value;
    qstr = 'w=' + escape(word); // NOTARE bene che non viene messo '?' prima della querystring
    return qstr;
    }

    function updatepage(str){
    document.getElementById("result").innerHTML = str;
    }
    </script>

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    se vuoi possiamo anche ragionarci sopra, nel senso che un po' di codice lo posso pure mandare, ma il problema è php, che io non conosco. Ti va bene se ti rispondo in Basic o in C#? :master:

    Pietro

  4. #4
    ci proviamo dai... qualcosa di Basic lo mastico

  5. #5
    sei sicuro che il problema sia nel PHP??
    il codice xml generato mi pare giusto...
    www.gext.it

  6. #6
    Originariamente inviato da ferrate
    function updatepage(str){
    document.getElementById("result").innerHTML = str;
    }
    sei sicuro che non dovresti parsare un po la response invece che sbatterla nell'HTML direttamente come ti arriva??

    ps ti consiglio la libreria net.ContentLoader presente sul mio sito (in firma)
    www.gext.it

  7. #7
    il problema nn è ne il php ne l xml.... funziona tutto egregiamente...
    il problema mio è appunto applicare a ciò l'ajax....

    il codice js che vi ho riportato va inserito sulla pagina dei form ( regione.php )
    in debug nn mi dà errore...

    per cui in regione.php tutto ok...
    ora nell'altra pagina come faccio ( mi serve proprio il codice js )
    a rimandare indietro l'elaborazione a regione.php con le provincie??

    se notate elabora.php nn ha codice js....
    mi manca proprio tutto il discorso del codice ajax o meglio js... per gestire il primo codice...

    spero di essermi spiegato bene

    ciao e grazie

  8. #8
    da quel che hai scritto non credo tu abbia capito pienamente il concetto di AJAX...
    sulla pagina "server" non cè nessun codice js ma solamente dati che sono passati al client e che esso deve parsare e poi utilizzare in qualche modo

    dai un occhio al mio sito in firma... cè una piccola guida per ajax
    www.gext.it

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da tarini
    dai un occhio al mio sito in firma... cè una piccola guida per ajax
    Scusami, ho letto il tuo articolo (non ajax ) ma quello sul <div sempre in primo piano.
    Non è che hai la versione che fa ritornare il div in posizione a velocità variabile, prima veloce, poi più lento?Ciao


    per ferrate: il codice lo posso recuperare domani mattina: ho proprio l'esempio Regione-Provincie Ma è scritto in Basic
    Pietro

  10. #10
    Originariamente inviato da pietro09
    Scusami, ho letto il tuo articolo (non ajax ) ma quello sul <div sempre in primo piano.
    Non è che hai la versione che fa ritornare il div in posizione a velocità variabile, prima veloce, poi più lento?Ciao
    è l'articolo che ho intenzione di scrivere nei prossimi giorni...

    controlla ogni tanto il sito e lo troverai :P
    www.gext.it

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.