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

    Ajax per stampare due o più campi di un db in diversi div

    salve a tutti sono alle prime armi con ajax (abbinato a php)

    con il seguente codice

    function caricatesto(contenitore, idp){

    var ajax = assegnaXMLHttpRequest();
    var elemento = prendiElementoDaId(contenitore);
    var usaLink = true;

    var dataChiamata = new Date();
    var inizioChiamata = dataChiamata.getTime();

    var opacity = 0.2;

    if(ajax) {
    usaLink = false;
    ajax.open("POST", "gettesto.php", true);
    ajax.setRequestHeader("connection", "close");
    ajax.onreadystatechange = function() {
    if(ajax.readyState === readyState.COMPLETATO) {
    if(statusText[ajax.status] === "OK"){
    try {elemento.style.display = "block";} catch(e) {}
    elemento.innerHTML = ajax.responseText;
    }else{
    elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.
    ";
    elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status];
    }
    }else{
    try {elemento.style.display = "none";} catch(e) {}
    }
    }
    ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    ajax.send("idpano="+id+'&rnd='+Math.random());
    }
    return usaLink;
    }

    richiamo il file gettesto.php che recupera il campo dal db e lo stampa correttamente nel tag html contrassegnato dall'id contenitore

    il codice php è molto semplice
    <?
    include('include/conn.inc.php');
    if(isset($_GET[id])){$idp=$_GET[id];}else{$idp=$_POST[id];}

    $result = mysql_query ("SELECT testodescrittivo FROM tboggetti WHERE id='$idp'");
    while ($valori = mysql_fetch_array ($result)){
    echo $valori['testodescrittivo'];
    } mysql_close($conn);
    ?>

    tutto funziona
    ma volevo capire se per caso decidessi di recuperare 3 campi dal database
    da inserire uno nel
    <div id="campoUno"></div>
    <div id="campoDue"></div>
    <div id="campoTre"></div>

    come dovrei modificare il tutto ?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Prova a scaricarti prototype e vedi esempi qui:
    http://www.fabryprog.it/from_sergiop...totype.js.html

    un piccolo esempio è questo: un pulsante richiama una funzione. Questa fa la chiamata ajax e riceve una stringa con più campi separati dal carattere |, per esempio. La stringa ricevuta viene disassemblata e una parte va in un div, e l'atra in un altro. Il codice è:

    codice:
    function getAjax1()
    {
        var url_action = "../goAJAX/prototipo.aspx?ajax_comando=1";
        /*
        var j = new Ajax.Updater(
                    'div1',
                    url_action);
        */
        new Ajax.Request(url_action, {onComplete:showResponse} );
        function showResponse(originalRequest)
        {
            var t = originalRequest.responseText;
    	    var v = t.split("|");
    	    $("textarea1").value = t;
    	    
    	    if(v.length != undefined && v.length == 2)
    	    {
    		    $("div1").innerHTML = v[0];
    		    $("text1").value = v[1];
    	    }
            
        }
    }
    come vedi, la parte commentata ha come parametro l'id di un div, e sa fare solo l'immissione di un dato in un div.

    L'altra funzione accetta come parametro un oggetto e, in specifico, una funzione di ritorno, dove ci puoi fare di tutto.
    Pietro

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.