MySQL skipping first row

Solution 1:

Remove the line:

$row = mysql_fetch_array($result);

The while loop will grab the first row on the first iteration.

Resulting code:

<?php
$ordre = "nom";
$croissance = "ASC";

if(isset($_GET["ordre"])){
    $ordre = $_GET["ordre"];
};  

if(isset($_GET["croissance"])){
    $croissance = $_GET["croissance"];
};

$con = mysql_connect('localhost','root','');
mysql_select_db('sdj_jeux', $con);
$sql = "SELECT * FROM jeux ORDER BY $ordre $croissance";
$result = mysql_query($sql, $con);

$couleurcompteur = 0;
while ($row = mysql_fetch_array($result)){
    $couleurcompteur += 1;
if($couleurcompteur % 2){
    $classe = "pale";   
} else {
    $classe = "fonce";  
    };
?>

Solution 2:

Right here is your problem:

$row = mysql_fetch_array($result);  

$couleurcompteur = 0;
while ($row = mysql_fetch_array($result)){

You call mysql_fetch_array() once before the while. This throws out the first row since you don't use it. Remove that un-needed call.

NOTICE: Do not use MySQL_* for it has been deprecated as of PHP 5.5. Use MySQLi_* or PDO instead