Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: id последней выбранной записи

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
melomaniac
Отправлено: 09 Марта, 2015 - 01:39:22
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Всем привет. Подскажите пожалуйста как узнать id последней выбранной записи, т.е. есть запрос



CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, title, description FROM сatalog WHERE id > $id ORDER BY id LIMIT 10


Выбрали 10 записей, вопрос, как получить id последней выбранной записи ?
 
 Top
RickMan
Отправлено: 09 Марта, 2015 - 09:00:18
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Ну вы результат этого запроса куда-то получаете? Если да, то как, и неужели оттуда получить нельзя?
 
 Top
file.shreder
Отправлено: 09 Марта, 2015 - 10:05:37
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014  


Помог: 2 раз(а)

[+]


melomaniac пишет:
Всем привет. Подскажите пожалуйста как узнать id последней выбранной записи, т.е. есть запрос



CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, title, description FROM сatalog WHERE id > $id ORDER BY id LIMIT 10


Выбрали 10 записей, вопрос, как получить id последней выбранной записи ?


ты ж в цикле судя по всему выводишь? последняя выведенная Если выбирать DESC и будем ид последней записи, зачем перед этим ид приравнивать к нулю? (Вообще не понятна задача)
 
 Top
melomaniac
Отправлено: 09 Марта, 2015 - 10:25:55
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




RickMan пишет:
Ну вы результат этого запроса куда-то получаете? Если да, то как, и неужели оттуда получить нельзя?


Можно, просто думал есть возможность сделать это непосредственно средствами mysql.
(Добавление)
file.shreder пишет:
melomaniac пишет:
Всем привет. Подскажите пожалуйста как узнать id последней выбранной записи, т.е. есть запрос



CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id, title, description FROM сatalog WHERE id > $id ORDER BY id LIMIT 10


Выбрали 10 записей, вопрос, как получить id последней выбранной записи ?


ты ж в цикле судя по всему выводишь? последняя выведенная Если выбирать DESC и будем ид последней записи, зачем перед этим ид приравнивать к нулю? (Вообще не понятна задача)


Это пагинация, точнее это запрос на выборку данных, но собственно само условие WHERE id нужно для выборки части данных, если мы на главной/первой странице id = 0, да и вообще объявлять переменные вроде как тру Улыбка Правда с этой пагинацией я уже запарился, к примеру если мы на 5 странице, как найти нужный id с которого начинать выборку, когда id в таблице попорядку, все ещё терпимо, но ведь можно удалять одну запись с БД и получить бардак вместо выборки Огорчение
 
 Top
RickMan
Отправлено: 09 Марта, 2015 - 10:44:54
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Я не уверен, но скорее всего такой возможности в mysql нету. Да и наврядле где есть. ID последней вставленной записи - да, а выбранной - не думаю...
 
 Top
DelphinPRO
Отправлено: 09 Марта, 2015 - 10:53:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




если это пагинация, нафига вам ID?

CODE (SQL):
скопировать код в буфер обмена
  1. LIMIT 0, 10 -- выбрать первые 10 записей
  2. LIMIT 11, 10 -- выбрать вторые 10 записей
  3. LIMIT 21, 10 -- выбрать третьи 10 записей


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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
melomaniac
Отправлено: 09 Марта, 2015 - 11:01:39
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




DelphinPRO пишет:
если это пагинация, нафига вам ID?

CODE (SQL):
скопировать код в буфер обмена
  1. LIMIT 0, 10 -- выбрать первые 10 записей
  2. LIMIT 11, 10 -- выбрать вторые 10 записей
  3. LIMIT 21, 10 -- выбрать третьи 10 записей


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


А вы попробуйте теперь так к примеру

LIMIT 5000, 10

Я думаю про прикол с offset все здесь в курсе Улыбка
 
 Top
exlant
Отправлено: 09 Марта, 2015 - 13:45:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




 
 Top
melomaniac
Отправлено: 09 Марта, 2015 - 15:09:32
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)






Спасибо, читал. Все равно у меня запрос медленный получается Огорчение
 
 Top
LIME
Отправлено: 09 Марта, 2015 - 17:29:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




melomaniac ну так кэшируй,
добавь дополнительное индексное поле,
что-нибудь в этом духе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB