WEB开发网
开发学院数据库DB2 在 Linux 上使用 Google Maps API、DB2/Informix ... 阅读

在 Linux 上使用 Google Maps API、DB2/Informix 和 PHP 创建地图

 2008-11-18 16:34:37 来源:WEB开发网   
核心提示: 您也许注意到到了,这段代码连接到一个名为 census 的 ODBC 数据源,在 Linux 上使用 Google Maps API、DB2/Informix 和 PHP 创建地图(6),该系统是使用 Informix 和 unixODBC 配置的,有关如何设置系统的一个较好的教程能够在

您也许注意到到了,这段代码连接到一个名为 census 的 ODBC 数据源。该系统是使用 Informix 和 unixODBC 配置的。有关如何设置系统的一个较好的教程能够在 unixODBC Web 站点上找到(请参阅 “参考资料”)。但是,这个脚本能够很容易地转换成 DB2。“Connecting PHP applications to IBM DB2 Universal Database”(developerWorks,2001 年 7 月)讨论了如何设置 DB2 与 PHP 交互。

清单 3 中的代码的输出将会返回一段格式优美的 XML 源代码,这段代码在 Zip 标记中有 Latitude 和 Longitude 标记,这些标记都在 Results 标记中。它会根据 URL 中的值搜索数据库。如果没有找到任何结果,Results 标记内就不会有 Zip 标记。您还将会在第二段 PHP 脚本中看到更具有实际作用的 Results 标记。

清单 4 是该脚本的示例输出,使用 02222(Boston,MA)作为邮政编码。

清单 4. longitude/latitude 脚本的示例输出

<?xml version="1.0"?>
<Results>
  <Zip>
    <Latitude>42.367797</Latitude>
    <Longitude>-71.062829</Longitude>
  </Zip>
</Results>

这段脚本只会被主页面的 JavaScript 调用一次。因为它以 XML 语言返回正确的标题(由 header() 函数输出),这段 XML 代码能够被内置在 Google Maps API 中的 XML 解析器所解析。(您将会在后面的 清单 6 中看到这些。)

清单 5. PHP 代码,检索关于用户屏幕中的邮政编码的数据

<?php
header("Content-Type: text/xml");
echo"<?xml version="1.0"?>";
//$newloc=$_GET[location];
//connect to db2/informix database
    //connect vars
    $dbname="census";
    $username="informix";
    $password="useyourown";
    //odbc_pconnect returns 0 if the connection attempt fails
    // otherwise it returns a connection ID used by other ODBC functions
//        echo ( "attempt connect.....n " );
    $conn = odbc_pconnect ( $dbname, $username, $password );
    if ( $conn == 0 ) {
        echo ( "Connection to database failed." );
        //If connection failed, show what the error message was:
        $sqlerror = odbc_errormsg ( $conn );
        die($sqlerror);
    }
    $sql = "select * from census_data where longitude > '$_POST[left]'
    and longitude < '$_POST[right]'
    and latitude > '$_POST[bottom]'
    and latitude <'$_POST[top]'";
    $locResult=odbc_exec($conn,$sql);
    echo "n<Results>";
    while($locData=odbc_fetch_object($locResult))
    {
    echo "nt<Zip>";
    echo "ntt<Code>$locData->zip</Code>";
    echo "ntt<State>$locData->state</State>";
    echo "ntt<Latitude>$locData->latitude</Latitude>";
    echo "ntt<Longitude>$locData->longitude</Longitude>";
    echo "ntt<Population>$locData->population</Population>";
    echo "ntt<Housing>$locData->housingunits</Housing>";
    echo "ntt<Area>$locData->sqmeters</Area>";
    echo "nt</Zip>";
    }
    echo "n</Results>";
?>

上一页  1 2 3 4 5 6 7  下一页

Tags:Linux 使用 Google

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接