Php – Use Single Row Query with MySQL and PHP


say I have this

$result =  mysql_query('SELECT views FROM post ORDER BY views ASC');

and I want to use the value at index 30 I assumed I would use

mysql_data_seek($result, 30);
$useableResult = mysql_fetch_row($result);
echo $useableResult . '<br/>';

But that is returning my whole table

What have I got wrong?

Edit: Woops, I actually have

mysql_data_seek($result, 30);
while($row = mysql_fetch_row($result)){
    echo $row['views'] . '<br/>';

Best Solution

Simply use an SQL WHERE clause.

$result = mysql_query('SELECT views FROM post WHERE ID=30')

If you don't want to go by ID but instead want the 30th item that would be returned you can use a LIMIT min, max:

$result = mysql_query('SELECT views FROM post LIMIT 30, 1')

In both cases your ORDER BY commands become unnecessary.

Here is a good usage example of the LIMIT command for doing paging on large record sets.