I want to code a page using HTML and CSS. I already designed it, but I'm lost since I don't know how to link it with the weather API to fetch the weather fot the selected city/country. Can anyone give me examples of how does the code go?
You'll have to look at the API documentation, which should tell you how to request the data from the service. Without a link to it, we can't help you.
This should give you a general idea of how to use JSON and APIs with PHP, but if you're looking for a simple pulling mechanism to update the weather on your page, you don't need something that heavy: it doesn't need to be server-side.
I would recommend going with JavaScript on this one, which would go something like this:
var req = new XMLHttpRequest();
var url = "yourURL"; //it is important that you read the API docs for this, because some APIs require you to use your API key in your request
req.open('GET', url, true);
req.onload = function (e) {
if (req.readyState == 4 && req.status == 200) {
if (req.status == 200) {
var response = JSON.parse(req.responseText); //response is now an object containing all of the data that the API gives you; again, you'll have to look at the API docs to see how that information is formatted
//update your page here using response data
}
}
}
};
req.send(null);
I also recommend completing How to use APIs with JavaScript.
Either way, you're going to get a JSON object in return, which is formatted like this:
var response = [
{
"name": "Australia",
"website": "http://www.footballaustralia.com.au",
"foundedYear": 1961,
"address": "Locked Bag A 4071\nNSW 1235\nSydney",
"homeStadium": "ANZ Stadium",
"stadiumCapacity": 83500,
"group": "B",
"groupRank": 3,
"groupPoints": 0,
"matchesPlayed": 1,
"wins": 0,
"losses": 1,
"draws": 0,
"goalsFor": 1,
"goalsAgainst": 3,
"goalsDiff": "-2",
"id": "16EF7687-2D69-473C-BFE7-B781D67752DC",
"type": "Team"
},
{
"name": "England",
"website": "http://www.thefa.com",
"foundedYear": 1863,
"address": "PO Box 1966\nSW1P 9EQ\nLondon",
"homeStadium": "Wembley Stadium",
"stadiumCapacity": 90000,
"group": "D",
"groupRank": 3,
"groupPoints": 0,
"matchesPlayed": 1,
"wins": 0,
"losses": 1,
"draws": 0,
"goalsFor": 1,
"goalsAgainst": 2,
"goalsDiff": "-1",
"id": "2EFCFEB2-EBF8-4628-B659-B00C49D93811",
"type": "Team"
},
{
"name": "Ghana",
"website": "http://www.ghanafa.org",
"foundedYear": 1957,
"address": "South East Ridge\n19338\nAccra",
"homeStadium": "Ohene Djan Sports Stadium",
"stadiumCapacity": 35000,
"group": "G",
"groupRank": 2,
"groupPoints": 0,
"matchesPlayed": 0,
"wins": 0,
"losses": 0,
"draws": 0,
"goalsFor": 0,
"goalsAgainst": 0,
"goalsDiff": "+0",
"id": "CCC66F75-7004-46E4-BB31-259B06A42516",
"type": "Team"
}
];
So, for instance, you'd access Australia's website with
response[0].website;
You can also use pure XML, but JSON is the most popular way to make API requests.