[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:25:26 CEST


Ciao a tutti,
volevo esporvi una piccola problematica per un refresh di una mappa ad un
evento lato server.
Questa cosa l'ho risolta in parte con Ajax e l'oggetto
OpenLayers.Request.XMLHttpRequest().
Vorrei semplicemente sapere se, ad ogni volta che si lancia la richiesta
ogni tot secondi,si possa controllare o verificare che  nella tabella del
database ci
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.
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
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110606/f5f3ed31/attachment.html>


Maggiori informazioni sulla lista Gfoss