Because you have already fetched one row before outputting the record
count. Therefore the row pointer is at the second record before you 'print
out'.
Try putting
mysql_data_seek($result,0);
in place of your second
$result = mysql_query($sql);
This should return the pointer to the first retreived record.
Hope that helps
Terry
----------Original Message---------
> Hi,
>
> I have a code that goes like this. Scroll down to the
"<----------"
> sign. How come I need another $result = mysql_query($sql) at that
> location?
> If I don't have it, the results coming out will only start printing
> from the
> 2nd Row.. Omitting the 1st.
>
> Results as wanted
>
> row 1 value1
> row 2 value2
> row 3 value3
>
> Getting this instead
>
> row 2 value2
> row 3 value3
>
> ????
>
> Pls Help.
>
> $result = mysql_query($sql);
>
> $num_results = mysql_num_rows($result);
>
> $row = mysql_fetch_row($result);
>
> echo '<p><h4>There are ' . $num_results;
> echo ' FA entries found</p></h4>' . "\n";
>
> echo '<table border="2" cellpadding="5">' . "\n";
> echo '<td colspan="' . sizeof($row) . '" align="center" >';
> echo '</td>' . "\n";
>
> # ===========================
> # Print out the Table Field Names
> # ===========================
> echo '<!-- Results Table Header Field Names -->';
> echo "\n";
> echo '<tr>' . "\n";
>
> for ($k = 0; $k < sizeof($row) ; $k++)
> {
> echo "\t" . '<td>';
> echo mysql_field_name($result,$k);
> echo "</td> \n";
> }
>
> # ===========================
> # Print out the Table Results
> # ===========================
>
> $result = mysql_query($sql); <---------------======WHY Is THIS
> needed????
>
> for ($i = 0; $i < $num_results ; $i++)
> {
> echo "<tr>\n" ;
> $row = mysql_fetch_row($result);
> for ($j = 0; $j < 12 ; $j++)
> {
> echo "\t" . '<td>';
> echo $row[$j] ;
> echo "</td> \n";
> }
>
> echo "</tr>\n";
> }
> Cheers,
> Mun Heng, Ow
> H/M Engineering
> Western Digital M'sia
> DID : 03-7870 5168
>
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php