Как получить следующую запись в наборе данных результата mysql? - PullRequest
1 голос
/ 07 марта 2012

Mysql дает нам набор данных Когда мы запускаем запрос на выборку в mysql и используем оператор цикла while или for, чтобы получить каждую запись из этого набора данных.Я хочу знать, есть ли какая-либо функция для получения следующей записи в этом наборе данных, когда мы получаем запись, не достигнув вершины цикла?что-то вроде:

$result = mysql_query("SELECT * FROM table1");
while ($row = mysql_fetch_array($result)) {

 $currentId = $row['id'];
 $nextId = mysql_fetch_next()['id'];
 ......

}

??

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Я бы добавил еще одну итерацию, которая преобразует ваш ресурс в массив, а также включает следующий идентификатор (при условии, что это не обязательно предыдущий идентификатор + 1, в этом случае все это бессмысленно):

$recordset = array(); $i = 0;
while ($row = mysql_fetch_assoc($result))
{
    $recordset[$i] = $row;
    if ($i > 0) { $recordset[$i-1]['nextid'] = $row['id']; }
    $i++;
}

Тогда вы можете использовать $ recordset для любых целей.

0 голосов
/ 07 марта 2012
$result = mysql_query("SELECT MAX(id) FROM `table1` GROUP BY id");

if(mysql_num_rows($result) > 0){
    while($row = mysql_fetch_array($result)){
        $next = $row['MAX(id)'] + 1;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...