![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Привет. Мне нужно в mysql базе хранить шестнадцатиричное значения для цвета. Подскажите какой тип столбца лучше выбрать?
Это сообщение отредактировал(а) GrafF812 - 10.5.2011, 16:11 |
|||
|
||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: нет Всего: 11 |
конечно числовой. int вполне достаточно
-------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Ну делов том, что мне нужно это значние подставлять в таком виде
В этом случае все равно лучше в INT или в VARCHAR сразу с '#'(решеткой) хранить? |
|||
|
||||
| NLspieler |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: нет Всего: 19 |
Номер цвета - это шестнадцатиричное число, которое можно преобразовать в обычное десятичное или обратно. Для хранения чисел и работы с ними требуется гораздо меньше ресурсов. Поэтому лучше перед сохранениям в базу данных, преобразовывать шестнадцатеричное число в десятичное при помощи функции hexdec, а при доставании из базы преобразовывать обратно в шестнадцатиричное, используя функцию dechex и подставлять решетку и все что нужно. Забыл упомянуть, что если в базу сохранить черный цвет #000000, то в базу сохранится число 0. При обратном преобразовании получится шестнадцатеричное число 0, а не так как было. Поэтому нужно проверять при помощи функции strlen длину получившейся строки, и если есть необходимость, добавлять слева недостающие нулю Это сообщение отредактировал(а) NLspieler - 10.5.2011, 19:11 |
||||
|
|||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 7 Всего: 67 |
Все гараздо проще sprintf('#%06x', 0); -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |