Visualizzazione dei risultati da 1 a 4 su 4

Discussione: do while ajax e php

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321

    do while ajax e php

    Buongiorno a tutti...
    Sto facendo un sistema che ci metto troppo a spiegarlo comunque...devo far questo...uso php insieme ad ajax il codice ajax va alla grande ma il risultato non equivale a quello che dovrebbe essere:

    la funzione seguente appartiene ad una classe : myajaxphp.

    questa funzione dovrebbe stampare a video tutti i nomi degli utenti presenti nella tabella tbl_utenti del database. Il problema è che mi stampa a video solo la prima riga della tabella.
    tale funzione esporta i dati in formato xml.

    codice PHP:
    public function getResponse(){
    // connessione al server
    $this->connessione();
    // genero l'output in formato xml
    header('Content-Type: text/xml');
    // generate XML header echo '
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
    // creo l'elemento xml risposta
    echo '<response>';
    // Query di estrazione dati
    $query = "SELECT * FROM tbl_utenti";
    // Lancio la query
    $result = mysql_query($query) or die(mysql_error());
    // Immagazzino i dati in un array
    $dati = mysql_fetch_array($result,MYSQL_BOTH);
    // Uso un ciclo do while per stampare la lista dei nomi a video
    do
    {
    echo $dati['nome'];
    echo "
    ";
    }
    while ($dati = mysql_fetch_array($result));
    // Chiudo l'elemento risposta
    echo '</response>';
    }


    cè qualcuno che mi sa aiutare????

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma hai un xml che praticamente non sfrutti:
    che senso ha separare i vari nomi con
    ?

    piuttosto fatti stampare
    <response>
    <username>nome utente 1</username>
    <username>nome utente 2</username>
    <username>nome utente 3</username>
    <username>nome utente 4</username>
    </response>

    e alla ricezione valuta tutti gli "username"

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    E' vero hai ragione sfrutto poco l'xml ma questo che sto facendo è solo un esempio pratico ai fini didattici, sto studiando ajax e sono alle prime.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    321
    Il problema è al 101% il dom degli elementi xml. Ho provato:


    function handleStateChange(){
    if(xmlhttp.readyState ==1 || xmlhttp.readyState ==2 || xmlhttp.readyState ==3){
    document.getElementById('risultato').innerHTML = "Loading,Please Wait";
    } else {
    if(xmlhttp.readyState == 4){
    if(xmlhttp.status == 200){

    datiUtente = xmlhttp.responseText
    document.getElementById('risultato').innerHTML = datiUtente;
    }
    }
    }
    }

    Da notare che la risposta l'ho impostata su responseText
    e cosi funziona, se la imposto su responseXml non funziona con questo codice:


    function handleStateChange(){
    if(xmlhttp.readyState ==1 || xmlhttp.readyState ==2 || xmlhttp.readyState ==3){
    document.getElementById('risultato').innerHTML = "Loading,Please Wait";
    } else {
    if(xmlhttp.readyState == 4){
    if(xmlhttp.status == 200){

    // Ottengo la risposta asincrona dei dati in formato xml
    xmlResponse = xmlhttp.responseXML;
    // Ottengo la radice dell'albero xml
    xmlDocumentElement = xmlResponse.documentElement;
    // Messaggio vero e proprio
    datiUtente = xmlDocumentElement.firstChild.data;
    // Formattazione del div
    document.getElementById('risultato').innerHTML = datiUtente;

    }
    }
    }
    }

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.