Full Source Code for Fetching Realtime Air Quality Index (AQI) based on location.
<style>
.wrapper{
display: flex;
flex-wrap: wrap;
}
.green{
background-color: green;
}
.orange{
background-color: orange;
}
.gray{
background-color: #615f5f;
}
.yellow{
background-color: yellow;
color:#000 !important;
}
.red{
background-color: red;
}
.redder{
background-color: red;
}
.reddest{
background-color: red;
}
.wrapper .single{
display: inline-block;
width:180px;
color:#fff;
padding:10px;
margin-right:10px;
text-align:center;
margin-bottom:10px;
}
.aqi-value{
font-family : "Noto Serif","Palatino Linotype","Book Antiqua","URW Palladio L";
font-size:40px;
font-weight:bold;
}
h1{
text-align: center;
font-size:3em;
}
</style>
<h1>Air Quality API</h1>
<div class="wrapper">
<?php
if(isset($_GET['station']) && $_GET['station']!=''){
$station = $_GET['station'];
}else{
$station = 'Texas';
}
$token = "*************************"; //here is my token, you can get your own
$api_url = 'http://api.waqi.info/search/?token='.$token.'&keyword='.$station;
$response = json_decode(file_get_contents($api_url));
if(isset($response->status) && $response->status=="ok"){
$stations = $response->data;
foreach($stations as $station){
$air_quality = ($station->aqi=='-')?'N/A':$station->aqi;
if($air_quality=='N/A'){
$class = 'gray';
}else if($air_quality<51){
$class="green";
}else if($air_quality>50 && $air_quality<100){
$class = "yellow";
}
else if($air_quality>101 && $air_quality<150){
$class = "orange";
}else if($air_quality>150 && $air_quality<200){
$class = "red";
}else if($air_quality>200 && $air_quality<300){
$class = "redder";
}else if($air_quality>300){
$class = "reddest";
}
$updated_at = $station->time->stime;
$station_name = $station->station->name;
?>
<div class="single <?php echo $class;?>">
<p class="aqi-value"><?php echo $air_quality;?></p>
<p><?php echo $station_name;?></p>
</div>
<?php }}
?>
</div>
