Educational Purpose: Connect PHP code to Weather API

Job ID: 35098215

Budget: $10 – $30 AUD

Already have the code and just need this fixed, I have the API key in the code:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Weather</title>
</head>
<body>
<p> are you comfortable with php? question</p>
<?php
$conn = new mysqli("localhost","root","","ia3weather") or die(mysqli_error($conn));
$query = mysqli_query($conn, "SELECT * FROM stations ORDER BY name ASC") or die(mysqli_error($conn));
echo '<form action="'.htmlentities($_SERVER['PHP_SELF']).'" method="get">';
echo '<select name="wmo" onchange="this.form.submit()">';
echo '<option value="00000">Select Station</option>';

if (isset($_GET['wmo'])) {
$wmo = $_GET['wmo'];
} else {
$wmo = '00000';
}
while ($row = mysqli_fetch_array($query)) {
if ($row['wmo'] == $wmo) {
$selected = ' selected ';
} else {
$selected = ' ';
}
echo '<option value="'.$row['wmo'].'"'.$selected.'>'.$row['name'].'</option>';
}
echo '</select> ';
echo '</form>';
if ($wmo != '00000') {
$query = mysqli_query($conn, "SELECT * FROM stations WHERE wmo=$wmo") or die(mysqli_error($conn));
while($row = mysqli_fetch_array($query)) {
echo '<a href="https://www.google.com.au/maps/@'.$row['lat'].','.$row['lon'].',14z" target=\"_blank\">Map</a>';
echo '<p>Name: '.$row['name'].'</p>';
}
$query=mysqli_query($conn, "SELECT * FROM observations WHERE wmo='$wmo' ORDER BY datetime DESC LIMIT 5") or die(mysqli_error($conn));
while ($row = mysqli_fetch_array($query)) {
echo $row['datetime'].': '.$row['air_temp'].'<br>';
}
$places = array("94578"=>"Brisbane", "95551"=>"Toowoomba", "94578"=>"Logan");
$url = 'https://api.weatherapi.com/v1/forecast.json?key=07b57c513a1b468192c134506202912&days=3&q='.$places["$wmo"];

$result = file_get_contents($url);
$json = json_decode($result, true);
echo 'Maximum tomorrow: '.$json["forecast"]["forecastday"][1]["day"]["maxtemp_c"];


/*
$url = 'https://api.weatherapi.com/v1/forecast.xml?key=9d3cf4db8aad4429bfa04452220211&days=3&q='. $places["$wmo"];
$xml = simplexml_load_file($url);
echo 'Maximum tomorrow:'.$xml->forecast->forecastday[1]->day->maxtemp_c;
*/
}
?>
</body>
</html>
Related categories: PHP JavaScript MySQL HTML API