Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Формирование номера записи в бд (https://javascript.ru/forum/server/41721-formirovanie-nomera-zapisi-v-bd.html)

Mafa 26.09.2013 16:52

Формирование номера записи в бд
 
Здравствуйте!
Есть таблица, каждая запись в ней - это заявка на перевозку с данными заказчика. И есть задача - сформировать номер заявки, который должен состоять из статичной цифры, id текущей записи и id группы пользователя. Примерно такого вида: 01/125/005, где 01 - статичная, 125 - id записи, 005 - id группы. Формировать его нужно на этапе добавления записи в таблицу, и добавлять в сериализованный массив с остальными данными. Или в отдельную ячейку. Если с 01 и id группы всё просто и ясно - можно их засунуть в переменную, то вот с id записи что-то никак не могу разобраться.
Подскажите, пожалуйста, можно ли вообще как-то обратиться к этому треклятому id?.. По идее, записи ещё нет, а значит и id не существует... Попробовала перед записью в таблицу запрашивать id последней записи, чтобы прибавить к нему +1, что-то не получилось у меня.

В поисковиках искать мне смысла нет, потому что я запрос сформулировать не могу толком. %) Я с php впервые столкнулась недели три назад, так что строго не судите, пожалуйста.

Буду рада любой помощи, хоть подсказке в какую сторону рыть) Заранее, благодарю.

ksa 26.09.2013 20:12

Цитата:

Сообщение от Mafa
можно ли вообще как-то обратиться к этому треклятому id?

Какая СУБД?
Каким доступом осуществляется добавление?
Например в "моей" СУБД есть несколько вариантов доступа:
- SQL
- классовый/объектный
- прямой доступ

ksa 26.09.2013 20:14

Цитата:

Сообщение от Mafa
В поисковиках искать мне смысла нет, потому что я запрос сформулировать не могу толком.

Так пойдет? :)

DjDiablo 26.09.2013 21:27

Мафа я нифуя не понял.

но обычно
1) Поле id должно быть автоинкремент
2) id можно получить при помощи mysql_insert_id()
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Could not connect: " . mysql_error());

    mysql_select_db("mydb");

    mysql_query("INSERT INTO mytable (product) values ('kossu')");

    $superName='01'.mysql_insert_id().'005 ';
    printf (  $superName  );  // выводим результат

Mafa 27.09.2013 08:16

Чаво? O_O Ну зачем сразу ругаться незнакомыми мне словами? :D Я пока ничего не умею и не знаю, вот учусь методом тыка на практике) Подключение к базе выглядит так же, как на примереDjDiablo))) Всё, что нашлась ответить))) И спасибо за ссылку, так - пойдёт! Спасибо большое!))

Mafa 27.09.2013 08:18

Спасибо огромное за помощь!)) Теперь буду пробовать вставить $superName в ту же запись, во время добавления которой которой она сформирована))

ksa 27.09.2013 10:36

Цитата:

Сообщение от Mafa
учусь методом тыка

Читая книжки учиться гораздо эффективнее. ;)

Mafa 27.09.2013 11:21

Читаю, как без этого? Только вот я практик, а потому мне одно чтение мало что даёт) Вчера вот приспичило сделать этот номер заявки, а читать уже времени нема) За пару недель всего не освоить. Хорошо, что есть добрые люди, не отказывающие в помощи)))


Часовой пояс GMT +3, время: 00:31.