Как я могу получить значение n-й строки из MySQL? - PullRequest
0 голосов
/ 26 января 2010

Я попробовал ниже код

$sql=mysql_query("SELECT * FROM `user`");
$result=mysql_result($sql, 6);
echo $result;

Возвращает значение первого поля 7-й строки. Но работает хорошо до 9-го ряда. И после этого он снова возвращается с 1. Так что кто-нибудь, пожалуйста, помогите .. как я могу получить значение n-й строки из MySQL.

Благодарю вас.

sumansjournal@gmail.com

Ответы [ 3 ]

4 голосов
/ 26 января 2010

Вы также можете указать это в своем запросе, используя предложение LIMIT :

$sql=mysql_query("SELECT * FROM `user` limit 6, 1");

Это даст вам 7-ую запись, и, таким образом, вы можете указать там любое число.

3 голосов
/ 26 января 2010

Имейте в виду, что вам не гарантируется, что порядок будет надежным, если вы на самом деле не определите, как должны быть упорядочены строки, используя предложение ORDER BY. Вы, вероятно, получаете строки обратно в том порядке, в котором они были вставлены в таблицу. Есть множество вещей, которые могут привести к изменению этого «порядка по умолчанию». Это действительно плохая идея, если вы действительно не понимаете, что происходит под капотом.

Вот пример, который сортирует записи по имени. Вероятно, этот столбец не подходит для упорядочивания строк, но мы недостаточно знаем схему вашей таблицы или требования, чтобы предложить ее.

$result = mysql_query("SELECT * FROM `user` order by firstname desc limit 6,1");
print_r(mysql_fetch_assoc($result));
1 голос
/ 26 января 2010
$i=6;     
if (!mysql_data_seek($sql, $i)) {
       echo "Cannot seek to row $i: " . mysql_error() . "\n";
}

, затем используйте любой традиционный метод, например mysql_fetch_array

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...