Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2015, 23:16   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию Autoindex

Доброго времени суток !

Подскажите как вывести следующий Autoindex из базы данных по id ?
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 15.05.2015, 23:29   #2
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Куда вывести? Если речь идет о поле с атрибутом автоинкремент, то следующая запись будет с id на единицу больше предыдущей
Gorychev вне форума Ответить с цитированием
Старый 15.05.2015, 23:34   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

How to get the next auto-increment value
Andkorol вне форума Ответить с цитированием
Старый 16.05.2015, 00:16   #4
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от Gorychev Посмотреть сообщение
Куда вывести? Если речь идет о поле с атрибутом автоинкремент, то следующая запись будет с id на единицу больше предыдущей
я хочу вывести просто на экран следующей записи будет присвоено такой то номер id
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 16.05.2015, 00:31   #5
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Всем спасибо я решил вопрос

Код:

$sql    = "SHOW TABLE STATUS LIKE 'tablename'";
$result = mysql_query($sql);
$array  = mysql_fetch_array($result);

$ai = $array['Auto_increment'];
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 16.05.2015, 02:02   #6
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Для этого в Mysql есть функция mysql_num_rows();

Код:
// Количество записей
echo mysql_num_rows(mysql_query('SELECT id FROM `goods`'));

И бывает так, что когда удаляешь какую то запись, то верхняя функция или тот, код что у вас в посте, вернут общее количество записей, но не равное с последней и для этого нужна такая проверка:

Код:
// ИД последней записи
$data = mysql_fetch_row(mysql_query('SELECT MAX(id) FROM `goods`'));
echo $data[0];

Последний раз редактировалось uberchel; 16.05.2015 в 02:28.
uberchel вне форума Ответить с цитированием
Старый 17.05.2015, 12:49   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
Для этого в Mysql есть функция mysql_num_rows();

Код:
// Количество записей
echo mysql_num_rows(mysql_query('SELECT id FROM `goods`'));

И бывает так, что когда удаляешь какую то запись, то верхняя функция или тот, код что у вас в посте, вернут общее количество записей, но не равное с последней и для этого нужна такая проверка:

Код:
// ИД последней записи
$data = mysql_fetch_row(mysql_query('SELECT MAX(id) FROM `goods`'));
echo $data[0];
Каунт тут не сработает, инкремент может идти не от нуля, могут быть удаленные записи. Может поможет макс айдишника?
А вообще у меня складывается ощущение, что ТС собирается какие-то данные привязать к еще не существующей записи. Тут сразу скажу, что привязывать лучше сперва к сессии и затем делать перепривязку, потому что вся эта мысля рушится от одной фразы: "А если одновременно два человека будут это делать?"

п.с. это функция пыха, а не мускула...
Alar, верни репу!

Последний раз редактировалось Naive; 17.05.2015 в 12:51.
Naive вне форума Ответить с цитированием
Старый 17.05.2015, 15:44   #8
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Каунт тут не сработает, инкремент может идти не от нуля, могут быть удаленные записи. Может поможет макс айдишника?
Не поможет, ровно по той же причине - последнюю запись можно грохнуть с таким же успехом.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 17.05.2015, 17:20   #9
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Цитата:
Сообщение от Naive
Каунт тут не сработает, инкремент может идти не от нуля, могут быть удаленные записи.
Это. я тоже писал )


Цитата:
п.с. это функция пыха, а не мускула...
Ага, чет протупил.
uberchel вне форума Ответить с цитированием
Старый 18.05.2015, 12:31   #10
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

ого ... Как тут обсуждение развернулось то что я выложил последнее сообщение работает нормально и даже если удалить запись из БД значение следующего id не изменится прежде чем выкладывать протестировал ...

Naive, два человека одновременно делать не будут так как это я это спрашивал для себя ... я практикуюсь и вот сижу и придумываю себе задачи ... как говорится чем больше практики тем быстрее все освоится )

Всем большое при большое спасибо )
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Самопроизвольный лимит значения AutoIndex в таблице MySQL DJ Triton PHP 1 23.04.2010 10:16