我使用以下代码在PHP中保存数据。我想保存的数据是:
Latitudes:"[47.99267886541119,47.81223227508317]"
Longitudes:"[19.403228759765625,19.015960693359375]"
请帮我纠正代码中的任何错误。
<?php
$con = mysqli_connect('localhost','root','');
if(!$con)
{
echo 'Not Connected To Server';
}
if (!mysqli_select_db ($con,'test'))
{
echo 'Database Not Selected';
}
for ($i=0;$i<count($_POST['Latitudes']);$i=$i+1)
{
$Latitude = $_POST['Latitudes'][$i];
}
for ($i=0;$i<count($_POST['Longitudes']);$i=$i+1)
{
$Longitude= $_POST['Longitudes'][$i];
}
$sql = "insert into polyline (lat,lng) values
('$Latitude','$Longitude')";
if (!mysqli_query($con,$sql))
{
echo 'Not Inserted';
}
else
{
echo 'Inserted Successfully';
}
header("refresh:100; url=Final edited copy.html");
?>
以下是HTML代码:
var polyOptions = {
geodesic: true,
strokeOpacity: 1.0,
strokeWeight: 2,
}
var poly=new google.maps.Polyline(polyOptions);
poly.setMap(map);
var evtListnr = google.maps.event.addListener(map, "click", function(event){
var path = poly.getPath();
if (poly.getPath().getLength() == 1) {
google.maps.event.removeListener(evtListnr);
}
path.push(event.latLng);
var coordinates_poly=poly.getPath().getArray();
var lat_poly = [];
var lng_poly = [];
for(var i = 0; i <coordinates_poly.length; i++){
lat_poly.push(coordinates_poly[i].lat());
lng_poly.push(coordinates_poly[i].lng());
}
var str_lat_poly=JSON.stringify(lat_poly);
var str_lng_poly=JSON.stringify(lng_poly);
document.getElementById("data1").value= 'Latitudes:"'+str_lat_poly+'"';
document.getElementById("data2").value= 'Longitudes:"'+str_lng_poly+'"';
});
}
</script>
<form action="insert.php" method="POST">
<br/><input name="Latitudes" type="text" id="data1" size="100" value='' readonly/><br/>
<br/><input name="Longitudes" type="text" id="data2" size="100" value='' readonly/><br/>
<input type="submit">
</form>
答案 0 :(得分:0)
每次循环迭代时,您正在重置$ Latitude和$ Longitude值。你应该使用:
$Latitude .= $_POST['Latitudes'][$i]; // And some logic to add comma till last value is reached.
答案 1 :(得分:0)
POST值(即imap_dbl(mylist, ~ mean(.x)) ## will return a named numeric vector.
和$_POST['Longitudes']
是字符串,而不是数组。
请参阅this phpfiddle中的证据。
有多种方法可以处理 - 一些例子包括:
使用2个(或更多)文本输入(即$_POST['Latitudes']
标签)和支持数组语法的属性(有关详细信息,请参阅PHP.net HTML FAQ):
<input>