Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
поле для номера вида n/month/year (Kirill) 02/11/2007 - 19:07:08
      Re: поле для номера вида n/month/year (Kirill) 03/11/2007 - 14:32:09

> Original message text:
> From: Kirill - 02/11/2007 - 19:07:08
> Subject:поле для номера вида n/month/year
> -----------------
> Доброго дня!
> Сервисный отдел при приеме заказа присваивает ему номер вида n/month/year, где month/year - текущий месяц/год, а n -порядковый номер. На данный момент учет ведется в exel-файле.
> Я пытаюсь написать систему учета на базе MySQL и PHP. Для начала попробовал хранить этот номер в поле varchar и присваивать очередной номер после выборки вида select max(number) from zakaz. Все хорошо работало пока не в базу не занеслось 10 номеров. Сейчас каждый раз наибольшим считается номер 9/11/07. Соответственно всем последующим присваивается номер 10/11/07. Понятно что это связано с тем, что для компьютера 9 больше 10.
> Поэтому возник вопрос - какой тип поля лучше подойдет для хранения таких номеров или номер лучше разнести, что не хочется, по нескольким полям? А может можно неким образом модифицировать запрос по выборке?
> Спасибо.
>


From: Kirill - 03/11/2007 - 14:32:09
Subject:поле для номера вида n/month/year
-----------------
Пока пошел таким путем - ввел два поля (number и date) и осуществляю выборку наибольшего числа в текущем месяце.
Пример запроса средствами MYSQL: select max(number) as number from zakaz where date like (select concat((select year(curdate())), '-', (select mounth(curdate())), '-', '%')). В результате получаю число или null.
Т.к. все используется в связке с PHP запрос слегка "упростил": select max(number) as number from zakaz where date like '$year-$month-%'. Где $year = date("Y") и $month = date("m"). Ну а далее совсем уж технически собираю номер в нужный вид.
Неудобство такого подхода очевидно - перед записью нового заказа в базу номер необходимо привести к нужному виду.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32391



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |