php请求返回GeoJSON格式的数据

时间:2024-01-13 11:54:38
<?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
?>