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


Retrieve separate elements from a mySQL array field and iterate to create map

因为我在Limesurvey中使用地图界面,所以我的mySQL数据库在我的表格"geo"中填充了一个"文本"字段,如下所示:

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 中提取纬度/纬度值而使我的生活更加艰难?有没有办法按原样使用文本字段?

我像这样提取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);

但我不知道如何把这些碎片放在一起。

在这里超越了我的头。叔叔!任何帮助表示赞赏。

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