| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Тип для цвета |
| Автор: GrafF812 10.5.2011, 16:11 |
| Привет. Мне нужно в mysql базе хранить шестнадцатиричное значения для цвета. Подскажите какой тип столбца лучше выбрать? |
| Автор: ayax2005 10.5.2011, 16:41 |
| конечно числовой. int вполне достаточно |
| Автор: GrafF812 10.5.2011, 17:12 | ||
Ну делов том, что мне нужно это значние подставлять в таком виде
В этом случае все равно лучше в INT или в VARCHAR сразу с '#'(решеткой) хранить? |
| Автор: NLspieler 10.5.2011, 19:08 | ||||
Номер цвета - это шестнадцатиричное число, которое можно преобразовать в обычное десятичное или обратно. Для хранения чисел и работы с ними требуется гораздо меньше ресурсов. Поэтому лучше перед сохранениям в базу данных, преобразовывать шестнадцатеричное число в десятичное при помощи функции http://php.net/manual/de/function.hexdec.php, а при доставании из базы преобразовывать обратно в шестнадцатиричное, используя функцию http://www.php.net/manual/de/function.dechex.php и подставлять решетку и все что нужно. Забыл упомянуть, что если в базу сохранить черный цвет #000000, то в базу сохранится число 0. При обратном преобразовании получится шестнадцатеричное число 0, а не так как было. Поэтому нужно проверять при помощи функции strlen длину получившейся строки, и если есть необходимость, добавлять слева недостающие нулю |