Форумы портала PHP.SU » » Работа с СУБД » Получить ID еще не созданной записи в базе

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

1. dropoff - 04 Июня, 2011 - 18:20:33 - перейти к сообщению
Всем привет.

Проблема в том, что в скрипте при создании новости картинки, которые можно прикрепить, загружаются в папку с ID новости. т.е. по пути uploads/images/news/id_новости/к артинка.gif

При обновление то понятно как сделать, а вот при создании?
Понимаю, что нужно сделать запрос, получить последний созданный id, и следующее число уже будет id новости которую я добавляю.
Но как правильно сделать не понимаю.

И еще вопрос.
Если при создании новости и написании УРЛ'а в базе уже есть такой УРЛ, как к нему добавить какое-то число последовательное?
Т.е. если в БД уже есть новость с УРЛ
moya-novostb

то следующую писать
moya-novostb-1

а далее
moya-novostb-2
и .т.д..

В worpress так есть, но там найти что-то не смог.
Помогите пожалуйста.
2. OrmaJever - 04 Июня, 2011 - 18:27:09 - перейти к сообщению
3. dropoff - 04 Июня, 2011 - 19:25:01 - перейти к сообщению
OrmaJever, спасибо!

А по второму вопросу подскажете? Как решаются такие задачи?
4. EuGen - 04 Июня, 2011 - 21:01:55 - перейти к сообщению
Например, так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $rResult=mysql_query("SELECT COUNT(*) AS url_count FROM `table` WHERE `url`LIKE 'moya-novostb%'");
  3. $rgResult=mysql_fetch_array($rResult);
  4. //desired name:
  5. $urlName=$rgResult['url_count']?'moya-novostb-'.($rgResult['url_count']+1):'moya-novostb';
  6.  
5. dropoff - 04 Июня, 2011 - 21:36:04 - перейти к сообщению
Ага. Спасибо.

Только не проверяет УРЛ которые уже были обработаны до этого.

т.е.
пошла первая moya-novostb
потом добавляется вторая moya-novostb-2

а потом получается так, что moya-novostb-2 никак не проверяется
и при добавлении moya-novostb опять добавляет moya-novostb-2

наверное нужно в цикле делать проверку как-то.
6. EuGen - 04 Июня, 2011 - 21:51:01 - перейти к сообщению
dropoff пишет:
Только не проверяет УРЛ которые уже были обработаны до этого

А должна. LIKE 'moya-novostb%' на это как раз и указывает.
Вероятно, запрос не корректно формируете.
7. dropoff - 04 Июня, 2011 - 22:36:11 - перейти к сообщению
Да. Точно, пропустил %!
Спасибо вам большое!

 

Powered by ExBB FM 1.0 RC1