使用PHP和MySQL在地图上绘制点

时间:2011-02-15 01:23:04

标签: php mysql

我正在尝试在我的新项目上绘制地图特征上的点,但我遇到了问题。

到目前为止,这是我的代码选择代码:

$latest = mysql_query("SELECT * FROM `database` WHERE `id` = '887584' ORDER BY `id` DESC LIMIT 0,100") or die(mysql_error()); 
while ($lat = mysql_fetch_array($latest)) {

// Missing Part

}

我要做的是使用这个数组绘制地图的坐标:

$coordinates = array (
"$lat[lat]|$lat[long]", "$lat[lat]|$lat[long]", "$lat[lat]|$lat[long]",
);

但我不知道如何使用php重复数据库中的坐标。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

$coordinates = array();

$latest = mysql_query("
    SELECT
        `lat`
        ,`long`
    FROM
        `database`
    WHERE
        `id` = '887584'
    ORDER BY
        `id` DESC
    LIMIT 0,100
") or die(mysql_error()); 
while ($row = mysql_fetch_assoc($latest)) {
    $coordinates[] = implode('|', array($row['lat'], $row['long'])); // Could be
        // shortened to implode('|', $row), but if you select more fields
        // in the future it will likely break your app.
}

答案 1 :(得分:0)

我不太确定你要求的是什么,但看起来你已经或多或少地写了代码。我想这就是你想要的:

$coordinates = array();
$query = mysql_query("SELECT `lat`, `long` FROM `database` WHERE `id` = '887584' ORDER BY `id` DESC LIMIT 0,100") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    $coordinates[] = $row['lat'] . "|" . $row['long'];
}

顺便说一下,如果`database`.`id`是主键和/或唯一,那么您不需要查询的ORDER和LIMIT部分。