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

标签 java php mysql geocoding

因为我在 Limesurvey 中使用 map 界面,所以我的 mySQL 数据库会在表“geo”中填充“文本”字段,如下所示:

27.059125784374068;-102.65625;CITY;STATE;COUNTRY;

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

$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);

但我不知道如何将这些碎片组合在一起。

这里超出了我的理解范围。叔叔!任何帮助表示赞赏。

最佳答案

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

关于java - 从 mySQL 数组字段中检索单独的元素并迭代以创建映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036930/

相关文章:

java - 房间数据库编译错误: Field has non-unique column name

java - 如何在数组末尾停止递增和递减?

php - 自定义查询中的 Joomla 3 Zoo 组件 JSON 提取

PHPMailer 附件,在没有物理文件的情况下执行

java - 我需要帮助,我的 java 程序在编译时没有返回任何内容

php - 从数据库生成 CSS 类?

MySQL:如何替换字段中除最后 4 个字符之外的所有字符? (以保护信用卡#'s)

mysql - Rails-访问另一个数据库?

mysql - 无法删除或更新父行 : a foreign key constraint fails

java - 如果属性名称不等于字段名称,则 Jackson 自定义序列化程序将字段序列化两次