Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
1

Вывод последнего автоинкримента

06.11.2015, 11:48. Показов 676. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро уважаемые форумчане, начал немного учиться php и всему что с ним связано и тут наткнулся на проблему. Как из таблицы базы данных вывести значение максимального автоинкремента? Если можно по подробнее и с примерчиком)), еще не сильно разбираюсь. Спасибо вам огромное!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2015, 11:48
Ответы с готовыми решениями:

обнуление автоинкримента у id
Как обнулить автоинкримент у id? Вот я насоздавал кучу пробных пользователей, всех удалил, создаю...

Вывод информации из БД при входе на сайт и вывод одного последнего добавленного блока
Здравствуйте! Немного столкнулся с проблемой: Есть небольшой сайт, пробный, есть задание: 1....

Вывод последнего слова
Здравствуйте! Есть много категорий, подскажите, как выводить только последнее слово из названия....

Вывод последнего зарегистрированного пользователя
Не могу написать вывод последнего зарегистрированного пользователя. смог только написать сколько...

17
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
06.11.2015, 12:19 2
Цитата Сообщение от trezz Посмотреть сообщение
вывести значение максимального автоинкремента
А что это такое?
Макс. значение в числовом поле определяется так
SQL
1
2
SELECT MAX(fld1)
FROM tab1
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 15:28 3
немного не в тему, но есть такая "волшебная" функция
PHP
1
mysql_insert_id();
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 17:25 4
Цитата Сообщение от Laroux Посмотреть сообщение
немного не в тему, но есть такая "волшебная" функция
насколько я знаю, она сработает только сразу после запроса insert. или я ошибаюсь?
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 17:27 5
Цитата Сообщение от fanatikus Посмотреть сообщение
она сработает только сразу после запроса insert
так точно... но возможно это наведет человека на мысль о реализации чего там ему требуется
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 17:28 6
Цитата Сообщение от trezz Посмотреть сообщение
Как из таблицы базы данных вывести значение максимального автоинкремента?
как вариант
SQL
1
SELECT `id` FROM `table_name` ORDER BY `id` DESC LIMIT 1
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 17:32 7
fanatikus, не факт.. ибо если последнюю(ие) запись(и) удаляли, то это не будет значение максимального автоинкремента
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 17:37 8
Цитата Сообщение от Laroux Посмотреть сообщение
ибо если последнюю(ие) запись(и) удаляли, то это не будет значение максимального автоинкремента
происходит сортировка в обратном поряде, первый id однозначно будет самый большой(и что там удаляли до этого не важно)
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 17:39 9
Смотрите.. вот к примеру автоинкрементом вставлена строка 1220. А затем удалены строки 1220 и 1219.
Если вставить новую строку, то она будет 1221... а по вашему 1219
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 17:59 10
Цитата Сообщение от Laroux Посмотреть сообщение
Если вставить новую строку, то она будет 1221... а по вашему 1219
никак нет по моему 1221
есть
1211
1212
1213
1214
1215
1216
1217
1218
1219

добавили
1220

удалили
1219
1220
осталось
1211
1212
1213
1214
1215
1216
1217
1218

добавили
1221
получилось
1211
1212
1213
1214
1215
1216
1217
1218
1221

сортируем в обратном порядке и выводим одну запись. что по вашему выведет
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 18:02 11
Вы меня троллите
Вы же поняли, о чем я писал? Или нет?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 18:06 12
Цитата Сообщение от Laroux Посмотреть сообщение
Вы меня троллите
никак нет. вы говорите что мой запрос не выведет самый большой id, я с этим, аргументированно не согласен.
может я вас просто не понял? или вы меня.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.11.2015, 18:47 13
Цитата Сообщение от fanatikus Посмотреть сообщение
вы говорите что мой запрос не выведет самый большой id
Самый большой id != AUTO_INCREMENT
SQL
1
2
INSERT INTO `table` (`col1`, `col2`) VALUES ('val1', 'val2'); -- допустим id новой строки будет 10
ALTER TABLE `table` AUTO_INCREMENT = 100; -- AUTO_INCREMENT будет 100, а предыдущий вставленный id так и останется 10
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 19:22 14
Цитата Сообщение от Jewbacabra Посмотреть сообщение
AUTO_INCREMENT будет 100, а предыдущий вставленный id так и останется 10
согласен, но следующий то id будет 100 и именно его выведет мой запрос. именно это, я имел в виду.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.11.2015, 19:28 15
Цитата Сообщение от fanatikus Посмотреть сообщение
именно его выведет мой запрос.
Пока не вставить новую запись - не выведет.

Добавлено через 54 секунды
Цитата Сообщение от fanatikus Посмотреть сообщение
именно это, я имел в виду.
Я понял это. Просто это работать будет после вставки
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.11.2015, 19:32 16
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Просто это работать будет после вставки
естественно. я, просто предположил, что ТС, нужно вывести запись с самым большим id. и не заморачивался с изменением AUTO_INCREMENT
0
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
06.11.2015, 21:38 17
trezz, давайте-ка рассказывайте, для чего это Вам? чтобы расставить все точки над i
Только так мы поймем, какой вариант Вам нужен

А то тут такой баттл разгорелся
0
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107
07.11.2015, 01:12  [ТС] 18
Допустим у меня в базу заносятся записи, допустим их сейчас там 15 штук. Я хочу при входе на сайт видеть, у вас в базе 15 уникальных записей. Что-то тип того. Это типа количества зарегистрированных пользователей, только немного для других целей. Вот у меня есть таблица base в ней два столбца id (автоинкремент) и user (обычное текстовое поле). Как мне сделать запрос и вывести на сайте, что у меня в базе 15 уникальных записей. Спасибо, и прощу прощения за баттл xD

Добавлено через 46 минут
В общем после попыток и пыток сделал так:
CSS
1
2
3
4
5
$res = mysql_query("SELECT COUNT(id) FROM base");
$row = mysql_fetch_row($res);
$total = $row[0];
 
<?php print "<font color='red'> $total</font>"; ?>
Добавлено через 1 минуту
Спасибо всем за столь бурную помощь.)
mysql_insert_id(); пробовал, но он только после добавления, не подходит так.
Я еще вернусь к вам
0
07.11.2015, 01:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2015, 01:12
Помогаю со студенческими работами здесь

Вывод последнего сообщения в теме
Делаю простейшую программу ЛС на php. Для вывода последних сообщений различных тем используется...

Вывод последнего значения из столбца БД
Здравствуйте. Задача: вывести последнее значение из определенного столбца БД. Пытался сделать...

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

Вывод первого и последнего слов из строки
Какой алгоритм действий для вывода первого и последнего слов из строки?

Вывод имени последнего запущенного процесса
Добрый день, такое дело. Выдали такое задание на Bash: &quot;Если количество запущенных процессов...

Вывод слова после последнего пробела
Допустим есть строка : &quot;Разрешается использование тегов форматирования текста: а для выделения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru