php请求返回GeoJSON格式的数据

<?php

/*
 * Following code will list all the products
 */

// array for JSON response
$response = array();

// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all products from products table
$result = mysql_query("SELECT * FROM fbteam") or die(mysql_error());

# Build GeoJSON feature collection array
$geojson = array(
   'type'      => 'FeatureCollection',
   'features'  => array()
);

// check for empty result
if (mysql_num_rows($result) > 0) {
    // looping through all results
    // products node

    while ($row = mysql_fetch_array($result)) {
        $feature = array(
        'id' => $row['id'],
        'type' => 'Feature',
        'geometry' => array(
            'type' => 'Point',
            # Pass Longitude and Latitude Columns here
            'coordinates' => array($row['lon'], $row['lat'])
        )
        );
    # Add feature arrays to feature collection array
    array_push($geojson['features'], $feature);
    }
    header('Content-type: application/json');
    header("Access-Control-Allow-Origin: *");
    echo json_encode($geojson, JSON_NUMERIC_CHECK);
} else {
    echo "no data";
}
mysql_close($con);

 

db_connect.php

<?php

/**
 * A class file to connect to database
 */
class DB_CONNECT {

    // constructor
    function __construct() {
        // connecting to database
        $this->connect();
    }

    // destructor
    function __destruct() {
        // closing db connection
        $this->close();
    }

    /**
     * Function to connect with database
     */
    function connect() {
        // import database connection variables
        require_once __DIR__ . '/db_config.php';

        // Connecting to mysql database
        $con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());

        // Selecing database
        $db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());

        // returing connection cursor
        return $con;
    }

    /**
     * Function to close db connection
     */
    function close() {
        // closing db connection
        mysql_close();
    }

}

config中配置数据库连接的信息

<?php

/*
 * All database connection variables
 */

define('DB_USER', "root"); // db user
define('DB_PASSWORD', "mypassword"); // db password 
define('DB_DATABASE', "mydatabase"); // database name
define('DB_SERVER', "localhost"); // db server
?>

 

posted @ 2016-12-29 18:35  marost  阅读(1324)  评论(0编辑  收藏  举报