[Gfoss] Refresh pagina (Ajax e PHP) ad ogni inserimento nuovo record di PostGIS

Nicola De Innocentis deinnocentis.nicola a gmail.com
Mar 7 Giu 2011 12:51:17 CEST


Ciao, allora ho fatto un po' di prove e sono arrivato a tale
risultato.Purtroppo però non mi fa l'aggiornamento.
Seguendo il II suggerimento,ho creato un contatore che viene aggiornato ad
ogni richiesta.Lasciando intatta la funzione Data() dove invio la
richiesta,ho modificato,invece,la funzione myHandler(),all'interno della
quale ho inizializzato un contatore.Attraverso questi si verifica con degli
if se myRequest.responseText è diverso o meno dalla variabile contatore,e
quindi si effetua o meno il refresh della pagina.
Ho modificato pure controllo.php che mi verifica il COUNT,passando come
parametro finale $array['conto'] ovvero il numero di record e non più
$esito(valore 0 o 1).


function myHandler() {
    var contatore=null;
    if (myRequest.readyState == 4 && myRequest.status == 200) {
       if(myRequest.responseText>contatore){
            window.location.href = 'index.php';
            contatore=myRequest.responseText;
            return contatore;
          } if (myRequest.responseText==contatore){
            return contatore;
            }if(myRequest.responseText<contatore){
            window.location.href = 'index.php';
            contatore=myRequest.responseText;
            return contatore;
          }
    }
}

----------------PHP--------------------controllo.php-------------------
<?php
// effettuo alcuni controlli come ad esempio una query
// una modifica a variabili di sessione o altro - dipende da voi
// nel mio esempio controllo il numero di record in una tabella...

$connessione=pg_connect("host=*host* port=5432 dbname=*dbname* user=*
postgres* password=*psw*");


$query = "SELECT COUNT(*) AS conto  FROM tabella";
$result = pg_query($query) or die (pg_error());

$array = pg_fetch_array($result);

$contatore=(int)$array['conto'];        //qui converto in intero
echo $contatore;
?>

Ora all'aggiunta o eliminazione di un record lato server,lo script lato
client non funziona e non mi aggiorna la pagina.Sicuramente c'è qualcosa di
errato,data la mia inesperienza.Qualche suggerimento?
Grazie sempre per gli aiuti....
Nicola.
Il giorno 06 giugno 2011 21:32, Nicola De Innocentis <
deinnocentis.nicola a gmail.com> ha scritto:

> Grazie per i consigli preziosi,proverò subito i vostri suggerimenti.
> nicola.
>
> Il giorno 06 giugno 2011 20:02, G. Allegri <giohappy a gmail.com> ha
> scritto:
>
> O se non vuoi inerire una nuova colonna ti tieni un contatore in sessione
>> che aggiorni ad ogni richiesta. Se in una richiesta il COUNT è diverso dal
>> contatore, qualcosa è stato aggiunto (o tolto).
>>
>> giovanni
>>
>> Il giorno 06 giugno 2011 19:06, Stefano Salvador <
>> stefano.salvador a gmail.com> ha scritto:
>>
>> l'errore secondo me è nella query che usi per leggere i dati:
>>>
>>> > $query = "SELECT COUNT(*) AS conto  FROM tabella";
>>>
>>> con questa query conti tutti i record della nella tabella, se vuoi
>>> solo i record nuovi devi usare una qualche tipo di condizione di
>>> where, ad esempio supponendo che nella tabella ci sia una colonna con
>>> il tempo in cui è stato inserito il record dovresti fare qualcosa del
>>> tipo:
>>>
>>> > $query = "SELECT COUNT(*) AS conto  FROM tabella WHERE
>>> tempo_inserimento >".$ultimo_aggiornamento;
>>>
>>> dove $ultimo_aggiornamento è una variabile che devi salvarti nella
>>> sessione oppure passare come parametro della richiesta http.
>>>
>>>
>>> Ciao,
>>>
>>> Stefano
>>> _______________________________________________
>>> Iscriviti all'associazione GFOSS.it:
>>> http://www.gfoss.it/drupal/iscrizione
>>> Gfoss a lists.gfoss.it
>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>> Non inviate messaggi commerciali.
>>> I messaggi di questa lista non rispecchiano necessariamente
>>> le posizioni dell'Associazione GFOSS.it.
>>> 518 iscritti al 3.6.2011
>>>
>>
>>
>> _______________________________________________
>> Iscriviti all'associazione GFOSS.it:
>> http://www.gfoss.it/drupal/iscrizione
>> Gfoss a lists.gfoss.it
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> Non inviate messaggi commerciali.
>> I messaggi di questa lista non rispecchiano necessariamente
>> le posizioni dell'Associazione GFOSS.it.
>> 518 iscritti al 3.6.2011
>>
>
>
>
> --
> Nicola De Innocentis
>
> www.nicoladeinnocentis.it
>
>


-- 
Nicola De Innocentis

www.nicoladeinnocentis.it
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110607/dfaae7e1/attachment.html>


Maggiori informazioni sulla lista Gfoss