• Bannato User Attivo

    [ajax]Esecuzione di una query sql a un dato evento

    Ciao a tutti,
    Vorrei sviluppare una cosa del genere

    L'utente clicca su un'immagine o link e subito viene eseguita la query sql (php), ad esecuzione completata deve stampare un messaggio di riuscita.

    tutto questo senza aggiornare la pagina e in PHP.

    Grazie


  • Super User

    Ciao Napster,
    per prima cosa crea un file chiamato query.php poi nella pagina dov'è il link metti:
    [php]
    <script type="text/javascript">

    var XMLHTTP;

    function Richiesta()
    {
    if (Stringa.length > 0)
    {
    var url = "./query.php";
    XMLHTTP = RicavaBrowser(CambioStato);
    XMLHTTP.open("GET", url, true);
    XMLHTTP.send(null);
    }
    else
    {
    document.getElementById("risultati").innerHTML = "";
    }
    }

    function CambioStato()
    {
    if (XMLHTTP.readyState == 4)
    {
    var R = document.getElementById("risultati");
    R.innerHTML = XMLHTTP.responseText;
    }
    }

    function RicavaBrowser(QualeBrowser)
    {
    if (navigator.userAgent.indexOf("MSIE") != (-1))
    {
    var Classe = "Msxml2.XMLHTTP";
    if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
    {
    Classe = "Microsoft.XMLHTTP";
    }
    try
    {
    OggettoXMLHTTP = new ActiveXObject(Classe);
    OggettoXMLHTTP.onreadystatechange = QualeBrowser;
    return OggettoXMLHTTP;
    }
    catch(e)
    {
    alert("Errore: l'ActiveX non verrà eseguito!");
    }
    }
    else if (navigator.userAgent.indexOf("Mozilla") != (-1))
    {
    OggettoXMLHTTP = new XMLHttpRequest();
    OggettoXMLHTTP.onload = QualeBrowser;
    OggettoXMLHTTP.onerror = QualeBrowser;
    return OggettoXMLHTTP;
    }
    else
    {
    alert("Lo script non funziona con altri browser!");
    }
    }

    </script>

    <a href="javascript:Richiesta();">Clicca qui per eseguire la query</a>

    <div id="risultati"></div>[/php]Nel file query.php metti:

    [php]
    <?php
    // codice per eseguire la query qui
    if($query){
    // messaggio in caso di corretta esecuzione qui
    }?>
    [/php]ciao 😉


  • Bannato User Attivo

    Grazie 1000!!!

    Ho creato i due file, ma cliccando su "esegui query" non mi da nulla!


  • Bannato User Attivo

    Ciao,
    ho trovato proprio quello che volevo fare:
    http://www.ajaxcity.it/esempi/200701/ajaxtabs/
    Solo che quando vado a caricare tutti i file nel server remoto non mi esegue lo script e mi va al link normalmentecome se non ci fosse l'ajax presente.
    Invece di aprirmi la pagina all'interno della tabella

    In locale funziona correttamente.


  • Super User

    se il tuo browseer ha un javascript debugger controlla che magari non ci sia qualche errore nello script.


  • Bannato User Attivo

    Con Firefox ottengo questo errore:

    Errore: uncaught exception: Permesso negato al metodo di chiamata Location.toString

    Errore: Stringa is not defined

    Riga: 110


  • Super User

    posso al più consigliarti di utilizzare uno script abbastanza comodo per la gestione delle chiamate via ajax: advajax ( http://advajax.anakin.us/index-en.htm )


  • Bannato User Attivo

    Ciao,
    ma in pratica quello che vorrei fare io è la stessa cosa di
    http://www.ajaxcity.it/esempi/200701/ajaxtabs/

    con la differenza che invece di aprire pagine html con le foto degli animali vorrei aprire pagine php.

    Ho provato a sostituire semplicemente il nome della pagina, ma appena clicco mi apre la pagina in un'altra finestra, come un normale link.
    Invece dovrebbe aprirla all'interno della tabella