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

Nicola De Innocentis deinnocentis.nicola a gmail.com
Lun 6 Giu 2011 18:57:57 CEST


Si scusami, forse il mio pensiero è stato poco felice.
In realtà quello che voglio fare è che ad ogni inserimento di un nuovo
record nella tabella postgis,ci sia un refresh della pagina (aggiornamento
lato client).
La condizione a cui mi riferivo è presente nel file di controllo.php ed è la
seguente:

if($array['conto']>1){
   echo  $esito=1;
}else{
     echo $esito=0;
}

Mi da sempre $esito=1 in quanto la condizione $array['conto']>1 è sempre
verificata.Questo ovviamente mi fa riaggiornare sempre la pagina ogni
10sec.In pratica non vede mai se c'è o meno un nuovo evento lato server.
Dovrei cambiare condizione o addirittura algoritmo per fare questo tipo di
verifica.
Spero di essere stato un po' più chiaro.

Il giorno 06 giugno 2011 18:32, G. Allegri <giohappy a gmail.com> ha scritto:

> Scusami Nicola, non ho capito questa frase:
>
> sia stata una modifica(nuovi record inseriti,in pratica nuovi punti sulla
>> mappa) oppure no(quindi niente refresh).A tale proposito ho visto un esempio
>> di file controllo.php, ma non credo che funzioni perfettamente in quanto le
>> condizioni all'interno mi fanno aggiornare sempre la pagina.
>>
>
> <<le condizioni all'interno mi fanno aggiornare sempre la pagina>>?
>
> Giovanni
>
>
>> Mi potreste aiutare a capire con quale logica posso interrogare il
>> database per capire se c'è stata o meno una modifica.Vi posto brevemente la
>> parte ajax e il php che controlla il db.
>>
>> function myHandler() {
>>     if (myRequest.readyState == 4 && myRequest.status == 200) {
>>        if(myRequest.responseText==1){
>>             window.location.href = 'index.php';
>>           }
>>     }
>> }
>>
>>
>>     function Data(){
>>         myRequest = new
>> OpenLayers.Request.XMLHttpRequest();//CreateXmlHttpReq2();
>>         myRequest.open("GET","controllo.php");
>>         myRequest.setRequestHeader('Content-Type','text/xml');
>>         myRequest.onreadystatechange = myHandler;
>>         myRequest.send(null);
>>     }
>>
>>  <script type="text/javascript">
>> setTimeout("Data()",10000);
>> </script>
>>
>> ---PHP----controllo.php
>>
>> <?php
>> // la variabile che utilizzeremo per verificare l'esito del controllo
>> // 0 se non è necessario il refresh
>> // 1 se è da effettuare il refresh
>> $esito = 0;
>>
>> $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);
>> if($array['conto']>1){
>>    echo  $esito=1;
>> }else{
>>      echo $esito=0;
>> }
>>
>> ?>
>>
>> Grazie per l'aiuto  :-) ...saluti.
>> --
>> Nicola De Innocentis
>>
>> www.nicoladeinnocentis.it
>>
>>
>> _______________________________________________
>> 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
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110606/036daef8/attachment.html>


Maggiori informazioni sulla lista Gfoss