mirror of
https://github.com/Ekokumppanit/Lentolaskuri.git
synced 2026-02-13 00:46:37 +00:00
Initial commit
This commit is contained in:
20
app/api/config.php
Normal file
20
app/api/config.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
$config = array(
|
||||
'server' => 'localhost',
|
||||
'db' => 'lentolaskuri2',
|
||||
'user' => 'lentolaskuri2',
|
||||
'password' => '8@89z~UIwavn',
|
||||
);
|
||||
|
||||
// ----
|
||||
|
||||
$mysqli = new mysqli($config['server'], $config['user'], $config['password'], $config['db']);
|
||||
|
||||
/* check connection */
|
||||
if (mysqli_connect_errno()) {
|
||||
printf("Connect failed: %s\n", mysqli_connect_error());
|
||||
exit();
|
||||
}
|
||||
28
app/api/import.php
Normal file
28
app/api/import.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
require_once('config.php');
|
||||
|
||||
if (($handle = fopen("http://openflights.svn.sourceforge.net/viewvc/openflights/openflights/data/airports.dat", "r")) !== FALSE) {
|
||||
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
|
||||
$id = $mysqli->real_escape_string($data[0]);
|
||||
$name = $mysqli->real_escape_string($data[1]);
|
||||
$city = $mysqli->real_escape_string($data[2]);
|
||||
$country = $mysqli->real_escape_string($data[3]);
|
||||
$iata = $mysqli->real_escape_string($data[4]);
|
||||
$icao = $mysqli->real_escape_string($data[5]);
|
||||
if (empty($iata)) {
|
||||
continue;
|
||||
}
|
||||
$lat = $mysqli->real_escape_string($data[6]);
|
||||
$long = $mysqli->real_escape_string($data[7]);
|
||||
|
||||
$query = "REPLACE INTO airports (id, name, city, country, iata, icao, lat, `long`) VALUES ('$id', '$name', '$city', '$country', '$iata', '$icao', '$lat', '$long')";
|
||||
if (!$mysqli->query($query)) {
|
||||
printf("Error: %s\n", $mysqli->sqlstate);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
$mysqli->close();
|
||||
54
app/api/search.php
Normal file
54
app/api/search.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
require_once('config.php');
|
||||
|
||||
header("Access-Control-Allow-Origin: *");
|
||||
|
||||
$search = $mysqli->real_escape_string($_GET['s']);
|
||||
$id = $mysqli->real_escape_string($_GET['i']);
|
||||
if (empty($search) && empty($id)) {
|
||||
exit();
|
||||
}
|
||||
|
||||
$query = "";
|
||||
if (!empty($search)) {
|
||||
$query = "
|
||||
SELECT *,
|
||||
CASE
|
||||
WHEN iata LIKE '$search%' THEN 100
|
||||
WHEN name LIKE '$search%' THEN 75
|
||||
WHEN name LIKE '%$search%' THEN 74
|
||||
WHEN city LIKE '$search%' THEN 70
|
||||
WHEN country LIKE '$search%' THEN 65
|
||||
WHEN city LIKE '%$search%' THEN 60
|
||||
WHEN country LIKE '%$search%' THEN 55
|
||||
ELSE 0 END
|
||||
AS score
|
||||
FROM airports
|
||||
WHERE
|
||||
name LIKE '$search%' OR
|
||||
name LIKE '%$search%' OR
|
||||
country LIKE '$search%' OR
|
||||
country LIKE '%$search%' OR
|
||||
city LIKE '$search%' OR
|
||||
city LIKE '%$search%' OR
|
||||
iata LIKE '$search%'
|
||||
ORDER BY score DESC
|
||||
LIMIT 10;
|
||||
";
|
||||
} else if (!empty($id)) {
|
||||
$query ="SELECT * FROM airports WHERE id LIKE '$id';";
|
||||
}
|
||||
|
||||
$results = array();
|
||||
if ($result = $mysqli->query($query)) {
|
||||
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$results[] = $row;
|
||||
}
|
||||
|
||||
print(json_encode($results));
|
||||
|
||||
} else {
|
||||
printf("Error: %s\n", $mysqli->sqlstate);
|
||||
}
|
||||
Reference in New Issue
Block a user