2015-06-19 35 views
-2

我试图通过从我的数据库获取纬度和经度来显示点,而查询是(SELECT * FROM trackEmployee)它正在检索 数据并在地图上显示它(Y)将变量从php标记传递给同一页中的其他标记

但是,当我试图通过获取POST数据来设定条件WHERE groupEmail ='$mail' AND date= '$date'它不工作

如果我直接值传递给的条件下,它的工作原理(Y)

问题这里是从上面的php标签获取数据到下一个包含查询的php标签。

<html> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<title>Google Map API V3 with markers</title> 
<style type="text/css"> 
body { font: normal 10pt Helvetica, Arial; } 
#map { width: 750px; height: 400px; border: 0px; padding: 0px; } 
</style> 

<?php 


$connect_mysql= @mysql_connect($server,$username,$passwor) or die ("Connection Failed!"); 
$mysql_db=mysql_select_db("GP15",$connect_mysql) or die ("Could not Connect to Database"); 

$mail=$_POST['sel1']; 
echo $mail; // prints correctly 
$date=$_POST['sel2']; 
echo $date; // prints correctly 

//On page 2 
?> 

<script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script> 
<script type="text/javascript"> 
//Sample code written by August Li 
var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/blue.png", 
new google.maps.Size(32, 32), new google.maps.Point(0, 0), 
new google.maps.Point(16, 32)); 
var center = null; 
var map = null; 
var currentPopup; 
var bounds = new google.maps.LatLngBounds(); 



function addMarker(lat, lng, info) { 
var pt = new google.maps.LatLng(lat, lng); 
bounds.extend(pt); 
var marker = new google.maps.Marker({ 
position: pt, 
icon: icon, 
map: map 
}); 
var popup = new google.maps.InfoWindow({ 
content: info, 
maxWidth: 300 
}); 
google.maps.event.addListener(marker, "click", function() { 
if (currentPopup != null) { 
currentPopup.close(); 
currentPopup = null; 
} 
popup.open(map, marker); 
currentPopup = popup; 
}); 
google.maps.event.addListener(popup, "closeclick", function() { 
map.panTo(center); 
currentPopup = null; 
}); 
} 
function initMap() { 
map = new google.maps.Map(document.getElementById("map"), { 
center: new google.maps.LatLng(0, 0), 
zoom: 14, 
mapTypeId: google.maps.MapTypeId.ROADMAP, 
mapTypeControl: false, 
mapTypeControlOptions: { 
style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR 
}, 
navigationControl: true, 
navigationControlOptions: { 
style: google.maps.NavigationControlStyle.SMALL 
} 
}); 

    <?php 

// $ query = mysql_query(“SELECT * FROM trackEmployee”); //这个查询工作

$query = mysql_query("SELECT * FROM trackEmployee WHERE employeeEmail='$mail'AND date='$date'"); 


while ($row = mysql_fetch_array($query)){ 


$name=$row['street']; 
$lat=$row['latitude']; 
$lon=$row['longitude']; 
$desc=$row['district']; 

echo ("addMarker($lat, $lon,'<b>$name</b><br/>$desc')\n"); 

} 

?> 
center = bounds.getCenter(); 
map.fitBounds(bounds); 

} 
</script> 



</head> 
<body onload="initMap()" style="margin:0px; border:0px; padding:0px;"> 


<div id="map"></div> 
</html> 
+1

你知道你在“$邮件”和“$日期”空白?在查询中使用它们之前,先尝试检查$ mail和$ date的值,以此来提高安全性;-) – Stefan

+0

'mysql'调用已被正式弃用,请切换到'mysqli'或'pdo' –

+0

您有空白您的查询参数。删除'$ mail'的前导和尾部空格以及尾部空格替换'$ date' –

回答

-1

替换您的查询与this.Hope它的工作原理。

$query = mysql_query("SELECT * FROM trackEmployee WHERE employeeEmail='".$mail."'AND date='".$date."'"); 
+1

这会造成什么区别? –

+1

据我可以看到@ Fred-ii-,none。 –

+0

*完全是Sam * - @JayBlanchard –

相关问题