Порядковый номер записи в результате

ddurach

Новичок
Порядковый номер записи в результате

День Добрый,

Проблема следующего характера.
Существует ли возможность получения порядкового номера записи в результате mySQL?

Зачем это надо? Пример:
После редактирования записи надо вернуться на список записей, на ту страницу, где отображается данная запись (напр. список делится по 20 записей на лист.)

Как это сделать не выбирая все записи из базы?

С уважением,
Дмитрий
 

[VS]

Guest
если ты вставляешь запись в таблицу где есть поле autoincrement - to mysql_insert_id
 

ddurach

Новичок
Пример:
Есть записи с полем NAME. которое равное 1,2,3,10,11,20,30. Мне надо разбить результаты на 3 на страницу. т.е. будут 1,2,3 - 10,11,20 - 30.

После того как я вставляю запись с новым номером -15, юзера надо вернуть на страницу 2. т.е. получаем
1,2,3 - 10,11,15 - 20,30. Как это сделать при наименьших затратах?

Для справки: ID есть. оно auto_incriment. Но к этому вопросу оно отношения имеет мало :)

Дмитрий
 

Crazy

Developer
Если ты ДО редактирования знал, на какой странице лежит запись -- можно вернуться к ней же. Если не знал -- придется загрузить все ID и провести разбивку.

Если ты ДОБАВИЛ запись с auto-increment'ом, то она разве не на последней странице окажется? :)
 

begemot

Guest
Сделай запрос на количество записей с значением поля NAME меньше чем ты вставляешь, задели что получится на количество запичей на странице.
 

ddurach

Новичок
Честно сказать эти методы я и так знал :). Фигня следующая.
Если у меня в таблице 10000 записей. Запись имеет формат: ID, Name. Таблица выводиться отсортированной по Name. После добавления новой записи, Name обычно оказывается где-то в середине. Надо вернуться на нужную страницу. Как я понимаю, других методов, кроме как выгребания всех записей и определения номера страницы ручками (средствами PHP), нет.

Дмитрий
 

pumba

Guest
Выцепляй из рефферера с какой страницы был заход и отправляй туда же:
------------------------
1.php:
-------
<?php
print "<a href=2.php>Вперёд</a>";
?>
------------------------
2.php:
-------
<?php
print "<a href=".$_SERVER["HTTP_REFERER"].">Назад</a>";
?>
------------------------------------------
Все параметры сохраняются в реферере.
 

RomikChef

Guest
а чем тебе не нравится метод бегемота?

И куда, все-таки, тебе надо вернуться? Нельзя ли выражаться не домохозяйским языком, а чуть ближе к предмету?
Записи, сортировка, ид? понятия "страница" в mysql тоже нету!

А про "получение порядкового номера записи" - это ты красиво загнул. я долго смеялся.
 

ddurach

Новичок
ОК, народ, буду говорить по другому :)
Суть задачи: редактирование списка статей. Так как статей много, они разбиты по страницам. Редактирование производится нажатием кнопки [Edit]. После редактирования или добавления надо вернуть пользователя на ту страницу, где запись отображается. Правильно? Номер этой страницы высчитать невозможно из реферара и/или ее ID, Name,... Так как после смены Name он может поменяться. Как быть?
 

tony2001

TeaM PHPClub
>Так как после смены Name он может поменяться.
?????????????????
как ?
понятие ID у сущности одно на всю жизнь.
 

AntiFriz

Guest
Хочу показать, как я понял задачу, есть таблица:
autoincrement id || name || content

Каждой таблице сопоставлен свой локальный number, зависящий от всех имен имеющихся в таблице и обозначающий порядковый номер в выводе.

При редактировании статьи может произойти изменение как ее имени, так и содержания, в результате чего статья меняет свое местоположение, а значит и number, так как при выводе происходит сортировка по name. Задача в том, чтобы определить этот самый номер, через который можно и сделать ссылку на скрипт, который выведет эту статью - уже измененную. Если все так, как я понял, то делай, как советовал begemot:
Сделай запрос на количество записей с значением поля NAME меньше чем ты вставляешь, задели что получится на количество запичей на странице.
 

ddurach

Новичок
Да, тормозом оказался Я. Понял как реализовать. Спасибо огромное to begemot и ВСЕМ остальным. Топик закрываю.

С уважением,
Дмитрий
 
Сверху