嗨我有一些問題,使我的功能結構。將不勝感激任何幫助。使用PHP的Ajax返回值
首先一旦的OnChange事件從的index.php觸發這個功能應該刪除地圖標記。 併發送post值到xmlmapquery.php用於數據檢索。 檢索一次,該數據應該存儲回到我的index.php在<div id='content'>
function filter()
{
for (var i = 0; i < markersArray.length; i++) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
var lgu = $('#lgu').val();
var category = $('#category').val();
var type = $('#type').val();
$.get('xmlmapquery.php', { filter: lgu, filter2: category, filter3: type},function(data){
$('#content').text(data);
)};
};
現在,這是xmlmapquery.php
<?php
include('connection_db.php');
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
if(isset($_POST['filter']) && isset($_POST['filter2']) && isset($_POST['filter3'])){
$query = "SELECT * FROM markers WHERE type='".$_POST['filter']."' and type='".$_POST['filter2']."'
and type='".$_POST['filter3']."'";
}
// Select all the rows in the markers table
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("type", $row['type']);
}
echo $dom->saveXML();
?>
想知道關於這個幫助。目前的功能是不是工作,即使刪除標記是行不通的。一旦我得到這個東西的工作,我會添加更多的命令,將獲得數據的功能,併爲我的地圖創建新的標記。提前致謝。
您的瀏覽器錯誤控制檯是否提供有關JavaScript的任何內容?這似乎是你的問題的根源。還要注意,這個腳本容易受到SQL注入的影響。至少,您必須在這些$ _POST'查詢輸入中的每一個上調用'mysql_real_escape_string()'。理想情況下,考慮切換到支持預備語句的新API,如MySQLi或PDO。在下一個主要PHP版本5.5 –
錯誤控制檯沒有幫助時,'mysql _ *()'函數將被棄用。我以爲我的結構有問題,因爲我是新的JavaScript,輸入來自'
不,他們不安全。雖然臨時用戶不能輕易更改這些值,但具有HTTP _基本知識的任何人都可以向處理腳本提交他們想要的任何值。任何擁有開放瀏覽器DOM檢查器的人都可以更改這些值。 PHP腳本不知道它是從您的表單還是從任何其他特製的HTTP請求接收輸入 - 您必須清理這些輸入。 –