 <p>The call $rows = mysql_fetch_assoc($sql); is fetching the first row, you don't need that line. What is happening is that that line fetches the first row, and updates $sql (which is the resultset resource) to point to the second row, then when you call mysql_fetch_array( $sql ) it starts from the second row. </p>