如何设置动态通过位置
我有很多地方通过。之前,我只是静静地设置这些位置。现在,我创建了一个公司表格,并创建了一个用于添加,删除和更新公司详细信息的界面。因此,自创建通行证以来,我应该创建公司的这些位置。因此,我应该如何动态设置它们?我用这样的代码静态地点:
如何设置动态通过位置
$pass->setJSON('{........... "locations" : [ { "longitude" : 104.89529371261597, "latitude" : 11.576150037278605, "relevantText": "CamMob (dis. 1%)" }, { "longitude" : 104.89823341369629, "latitude" : 11.570705493829758, "relevantText": "ITC (dis. 2%)" }, { "longitude" : 104.91380631923676, "latitude" : 11.553425198985883, "relevantText": "Digi (dis. 10%)" }, { "longitude" : 104.92096781730652, "latitude" : 11.569580835552655, "relevantText": "Central market (dis. 10%)" }, { "longitude" : 104.89310503005981, "latitude" : 11.569444194519487, "relevantText": "IFL (dis. 20%)" }, { "longitude" : 104.89041209220886, "latitude" : 11.568655879564044, "relevantText": "RUPP (dis. 5%)" }, { "longitude" : 104.89643096923828, "latitude" : 11.568613836037402, "relevantText": "Children hospital (dis. 50%)" }, { "longitude" : 104.89986419677734, "latitude" : 11.566343476220418, "relevantText": "Santhormuk high school (dis. 15%)" }, { "longitude" : 104.89693522453308, "latitude" : 11.573774631737194, "relevantText": "Royal ratanak hospital (dis. 25%)" }, { "longitude" : 104.89693522453308, "latitude" : 11.573774631737194, "relevantText": "AEU (dis. 30%)" }, { "longitude" : 104.8942369222641, "latitude" : 11.561511017118434, "relevantText": "Moon Car Wash (dis. 10%)" }, { "longitude" : 104.92413818836212, "latitude" : 11.553772076702026, "relevantText": "Auto Spa (dis. 10%)" }, { "longitude" : 104.9108076095581, "latitude" : 11.545604569281316, "relevantText": "Penh Chet (dis. 5%)" }, { "longitude" : 104.89751189947128, "latitude" : 11.590985354685541, "relevantText": "E-garage (dis. 5%)" }, { "longitude" : 104.91095378994942, "latitude" : 11.562604174491218, "relevantText": "Futaba Garage (dis. 5%)" }, { "longitude" : 104.91638526320457, "latitude" : 11.55557478276799, "relevantText": "Haojue Motorcycle (dis. 3%)" }, { "longitude" : 104.90114092826843, "latitude" : 11.545636104516502, "relevantText": "Ice City Skating Rink (dis. 20%)" }, { "longitude" : 104.93705168366432, "latitude" : 11.5573354320172, "relevantText": "Galaxkate (dis. 10%)" }, { "longitude" : 104.92472290992737, "latitude" : 11.553572359281521, "relevantText": "G-rise photography (dis. 20%)" }, { "longitude" : 104.92827415466309, "latitude" : 11.556431458262171, "relevantText": "Portor School International Kindergarten (dis. 5%)" }, { "longitude" : 104.92472290992737, "latitude" : 11.553572359281521, "relevantText": "Cambridge International School of Cambodia (dis. 15%)" }, { "longitude" : 104.89523202180862, "latitude" : 11.569042154169637, "relevantText": "EZECOM (dis. 35.5%)" } ] }');
我只是试试这个,我可以看到像我写的静态结果:
$query5 = mysql_query("select * from company");
while ($row5 = mysql_fetch_array($query5)){
$companyName = $row5['relevantTextName'];
$discount = $row5['relevantTextDiscount'];
$long = $row5['longitute'];
$lat = $row5['latitute'];
$link = $row5['link'];
$location['locations'][] = array("longitute" => $long, "latitute" => $lat, "relevantText" => $companyName." (" . $discount. "%)");
}
$jsonString = json_encode($location) ;
error_log("Locations: ".$jsonString,0);
做
$qry = mysql_query($conn, "select longitude, latitude, relevantText from location_table");
$ret = array();
while($rec = mysql_fetch_assoc($qry)){
$ret[] = $rec;
}
// return or print or do something with the data here.
return json_encode(array("locations"=>$ret));
json_encode将返回numericaly索引PHP数组作为JSON数组和字符串与数组的索引作为JavaScript对象......希望这有助于
谢谢,我会测试它! – malinchhan 2013-05-09 05:10:01
另外请记住,通行证只能有10个地点。其余的将被忽略,所以你应该在查询中加入LIMIT 10,并且应该添加一个WHERE或ORDER BY的条件来提供一些逻辑来选择10。 – PassKit 2013-05-09 05:12:26
看着你试图复制最后一行的JSON实际上应该读取返回json_encode(array(“locations”=> $ ret)); – Orangepill 2013-05-09 05:13:02
尝试这样的..
<?php
$locations = array();
$result = $mysqli->query("select longitude, latitude, relevantText FROM company");
$inc=0;
while ($row = $result->fetch_array()){
$locations['locations'][$inc]['longitude'] = $row['longitude'];
$locations['locations'][$inc]['latitude'] = $row['latitude'];
$locations['locations'][$inc]['relevantText'] = $row['relevantText'];
$inc++;
}
echo json_encode($locations);
?>
谢谢!我会测试它! – malinchhan 2013-05-09 06:15:20
取出记录,产生一个数组,并将其编码成json字符串。 – Rikesh 2013-05-09 04:47:11
如何使用数组通过从公司表中进行选择来设置它们? – malinchhan 2013-05-09 04:47:26
“locations”:[ {“longitude”:“'。$ long。'”, “latitude”:“'。$ lat。'”, “relevantText”:“'。$ name。' '。$ discount。'“ }} – malinchhan 2013-05-09 04:57:47