Salve a tutti,
sono alle prese con un programmino che leggendo delle coordinate dal un db sqlite li mostri nella mia pagina web insieme alla mappa google.
Il problema, a quanto pare, sta nel fatto che non si riesce a popolare il db e non capisco per quale motivo.
Qualcuno potrebbe darmi una dritta?
La mia pagina html:
codice:<html> <head> <title>GlobaliX GPRS</title> <link rel="stylesheet" type="text/css" href="style.css" /> <SCRIPT src="script/function.js"></SCRIPT> <SCRIPT language="JavaScript" type="text/JavaScript"> var Timer; //NOTE: https://developers.google.com/maps/documentation/imageapis/ //Visualizza mappa da google function ShowMAP(latitude, longitude){ var Width = 640; var Height = 640; var GOOGLE_KEY = "AIzaSyDkK5hXflglDTRdRjed3cBtDc9t1EZ4ayM"; if((document.body.clientWidth < 640) && (document.body.clientHeight < 640)){ Width = document.body.clientWidth; Height = document.body.clientHeight; } var IMMAGE = "<img src=http://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=17&size=" + Width + "x" + Height + "&maptype=mobile\&markers=" + latitude + "," + longitude + ",greeng&key=" + GOOGLE_KEY + "&sensor=false>"; document.getElementById('mainspan').innerHTML =IMMAGE; return 0; } //Chiamata XML function GetData() { var ajax = startXMLHttpRequest(); if(ajax) { ajax.onreadystatechange=function() { if(ajax.readyState==4 && ajax.responseText!=null) { //PARSER XML try { var nodes=ajax.responseXML.getElementsByTagName("ROOT"); var latitude = nodes[0].getElementsByTagName("LATITUDE")[0].firstChild.nodeValue; var longitude = nodes[0].getElementsByTagName("LONGITUDE")[0].firstChild.nodeValue; ShowMAP(latitude, longitude); HTML="<table>" + "<tr><td>Latitudine:</td><td><b>" + latitude + "</b></td></tr>" + "<tr><td>Longitudine:</td><td><b>" + longitude + "</b></td></tr>" + "</table>"; document.getElementById('infospan').innerHTML =HTML; } catch (e) { HTML="<br><br><br><p class=error align=center>Struttura XML non valida o nessun dato presente nel database</p>"; document.getElementById('infospan').innerHTML = HTML; document.getElementById('mainspan').innerHTML = ""; } } } try { var par = "XML=get&R=" + encodeURI(encodeURI(Math.random())); ajax.open("POST", "./index.php", true); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.send(par); } catch (e) { document.getElementById('mainspan').innerHTML ="<br><br><br><p class=error align=center><img src=warning.gif><br><br>Errore<br>Pagina " + page + " non trovata sul server</p>"; } Timer = setTimeout('GetData()',20000); } } </SCRIPT> </head> <BODY onLoad='GetData();'> <center> <b>GlobaliX by Area SX S.r.l.<b><br> <div id=mainspan> </div> <div id=infospan></div> </center> </BODY> </html>
la mia pagina php:
il file sqlite.inc.php:codice:<?php include "sqlite.inc.php"; //Gestione DB SQLITE $db1=new sqlite(); $db1->db_file="globalix.sqlite"; $db1->db_debug=0; $res = $db1->sqlite_open(); $query = "CREATE TABLE globalix (id INTEGER PRIMARY KEY, latitudine VARCHAR(10), longitudine VARCHAR(10));"; $res = $db1->sqlite_query($query); //Salva le informazioni nel database $latitudine= "4153.2095"; $longitudine = "01228.0818"; $query = "INSERT INTO globalix VALUES (1,'$latitudine','$longitudine')"; $res = $db1->sqlite_query($query); if($res) echo "1,20,0"; else echo "0,0,0"; return(0); // } //Genera XML if(!empty($_REQUEST[XML]) && $_REQUEST[XML]=="get"){ header("Content-type: text/xml"); header("Content-disposition: filename=index.xml"); header("Pragma: no-cache"); header("Expires: 0"); print"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; //Ricavo l'ultima coordinata inserita: $query = "SELECT * FROM globalix ORDER BY id DESC LIMIT 1"; $res = $db1->sqlite_query($query); echo "<ROOT>"; if(sqlite_num_rows ($db1->query_return)>0){ $rec = sqlite_fetch_array ($db1->query_return); //Ricavo la latitudine $latitude =(int)substr($latitudine,0,2) + (float)(substr($latitudine,2,7)) / 60; //Latitudine $latitude = substr($latitude,0,9); //Ricavo la longitudine $longitude =(int)substr($longitudine,1,2) + (float)(substr($longitudine,3,7)) / 60; //Longitudine $longitude = substr($longitude,0,9); echo "<LATITUDE>" . $latitude . "</LATITUDE>"; echo "<LONGITUDE>" . $longitude . "</LONGITUDE>"; echo "</ROOT>"; } else { echo "<ERROR>0</ERROR>"; echo "</ROOT>"; } return 0; } ?>
codice:<?php class sqlite { public $db_file = "sqlite.db"; public $db_debug = 0; public $db_permission = 0666; //Instaura una connessione con il DB public function sqlite_open(){ $this->db_id = @sqlite_open($this->db_file, $this->db_permission, $sqlite_error); if(!$this->db_id) { if($this->db_debug) echo "Errore Sqlite: " . $sqliteerror . "<br>"; return 0; } return 1; } //Esegue una Query public function sqlite_query($query){ $this->query_return = @sqlite_query($this->db_id, $query); if(!$this->query_return){ if($this->db_debug) echo "Errore Sqlite: " . sqlite_error_string(sqlite_last_error($this->db_id)) . "<br>"; return 0; } return 1; } //Termina connessione con DB public function sqlite_close(){ @sqlite_close($this->db_id); return 1; } //Estrae l'ultimo ID inserito public function sqlite_lastid(){ $ret=@sqlite_last_insert_rowid($this->db_id); if($ret) return $ret; return 0; } } ?>

Rispondi quotando