从mySQL数组字段中检索单独的元素并迭代以创建映射

时间:2013-11-17 22:18:47

标签: java php mysql geocoding

因为我在Limesurvey中使用了地图界面,我的mySQL数据库在我的表'geo'中填充了一个“text”字段,如下所示:

27.059125784374068;-102.65625;CITY;STATE;COUNTRY;

我在演示图中使用的代码查找特定的纬度/经度信息来迭代地标:

$encodedString = ""; 
$x = 0; 
$result = mysql_query("SELECT * FROM `geo`");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
    {
        if ( $x == 0 )
        {
             $separator = "";
        }
        else
        {
             $separator = "****";
        }
        $encodedString = $encodedString.$separator.
        "<p class='content'>
        <br><b>Lon:</b> ".$row[0].
        "<br><b>Lat:</b> ".$row[1].
        "<br><b>SiteName: </b>".$row[2].
        "<br><b>Country: </b>".$row[4].
        "<br><b>PI: </b>".$row[5].
        "</p>&&&".$row[1]."&&&".$row[2];
        $x = $x + 1;
    }

我是否通过尝试从geoBlob中提取lat / lon值来改变我的生活?有没有办法使用文本字段?

我正在提取像这样的lon值:

$result =  mysql_query("SELECT geoBlob FROM `geo`");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $arr = array();
    foreach ($row as $k=>$v)
    {
        $breakEmUp = explode(";", $v);
        $lon = $breakEmUp[0]; 
        $arr[] = $lon;
    }
    $lonArray = join (", " , $arr);

但我不知道如何将各个部分放在一起。

在这里越过我的脑袋。叔叔!任何帮助赞赏。

1 个答案:

答案 0 :(得分:0)

最好将每个文本放入不同的字段,因此比使用字符串分隔符更容易。