W pliku php łączysz się z bazą:
//połaczenie z serweram mysql
Kod PHP:
$polaczenie = @mysql_connect('localhost', 'uzytkownik', 'haslo')
or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());
// połączenie z bazą
$db = @mysql_select_db('nazwa_bazy', $polaczenie)
or die('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error());
Przykład połaczenia z:
http://webmade.org/porady/nawiazanie-polaczenia.php
1) Tworzysz zapytanie do bazy danych i je wykonujesz.
Kod PHP:
$query = "SELECT gid, fid, ST_X(ST_centroid(geom)) as X, ST_Y(ST_centroid(geom)) as Y FROM XXX";
$result = pg_query($dbconn, $query);
W powyższym przypadku zapytanie jest do Postrgesa. Do MySQL pewnie będzie się trochę różnić.
Dla My sql:
Kod PHP:
$result = mysql_query('SELECT gid, fid, ST_X(ST_centroid(geom)) as X, ST_Y(ST_centroid(geom)) as Y FROM XXX');
Jeśli masz X i Y w kolumnie to masz połowę kłopotu za sobą (w moim wypadku, za pomocą funkcji postgis generuje X i Y z geometrii poligonów. W najprostszym wypadku:
Kod PHP:
"SELECT id, fid, X, Y FROM nazwa_tabeli"
2) konstruujesz obiekt geojson. W zasadzie możesz użyć ten kod. Tu też musisz wymienić funkcje PHP na te odpowiedzialne za obsługę MySQL. pg_fetch_array to mysql_fetch_array, a pg_close to mysql_close
Kod PHP:
// Return route as GeoJSON
$geojson = array(
'type' => 'FeatureCollection',
'features' => array()
);
// Add edges to GeoJSON array
while($row=pg_fetch_array($result)) {
$feature = array(
'type' => 'Feature',
'type' => $row[0], //
'properties' => array(
'gid' => $row[0],
'fid' => $row[1]
),
'geometry' => array(
'type' => 'Point',
'coordinates' => array($row[2], $row[3])
)
);
// Add feature array to feature collection array
array_push($geojson['features'], $feature);
}
// Close database connection
pg_close($dbconn);
// Return routing result
//header('Content-type: application/json',true);
echo json_encode($geojson);
3.