Well, first of all, just run one query to grab the top 4 games played, store those into an array, and then loop through the array to display them in the format you need.
Second of all, never use 'SELECT *' - only select the columns that you actually need to use.
Third, why do you run the "SELECT * FROM games" query twice just to count the number of played? Not only that, but here is a much better way to do it:
$query = 'SELECT SUM(played) FROM games';
$exec = mysql_query($query);
$totalplayed = mysql_result($exec, 0);
EDIT:
7steij17 wrote:Any help would be grateful, I don't know how to combine the two parts into one so it displays the same.
All you'd do is loop through the MySQL result set (using "LIMIT 0,4" to grab all 4 at once) and store the results into an array.
Then, replace your current while() loop with a [man]for/man loop to loop through the array twice. Output the HTML in between, then replace the second while() loop with another for() loop similar to above, continuing off where you stopped before (e.g. the last two entries in the array you created).