Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zapis koloru HEX do bazy
Forum PHP.pl > Forum > Przedszkole
Kshyhoo
Mam problem z odzyskaniem danych zapisanych do bazy. Tabela ma typ binary(3). Próba odzyskania danych... brak.
Kod:
  1. // zapis:
  2. INSERT INTO `kolory` (nazwa_koloru, kolor) VALUES ('Zielony', UNHEX('287233'));
  3. // odczyt:
  4. SELECT nazwa_koloru, HEX(kolor) AS kolor FROM `kolory`;

Baza widzi kolor a na stronie: °x...
trueblue
Czyli wynik SELECT'a bezpośrednio na bazie jest poprawny, tak?
A co to znaczy, że na stronie jest °x...? Gdzie i jak wstawiasz wartość z SELECT?
Kshyhoo
W phpMyAdmin widać °x, ale w trybie edycji jest właściwy kolor.
Po stronie PHP widać °x. Tak jak i var_dump:
  1. [kolor"]=>
  2. string(3) "°x"
Pyton_000
Na prawdę potrzebujesz zaisać to w binary? Po co takie ceregiele wink.gif
trueblue
Wygląda jakbyś nie robił HEX na tej wartości, bo powinieneś otrzymać string 6-znakowy.
Kshyhoo
Mniej miejsca smile.gif Ale zapiszę inaczej, smile.gif

No właśnie. Może mysqli nie obsługuje?
Pyton_000
A z ciekawości ile mln kolorów tam będzie zapisane?
Kshyhoo
Może z kilkaset rekordów. Szukałem w necie typów i znalazłem to i chciałem skorzystać wink.gif

Jaki typ najlepiej ustawić?
darko
Spróbuj:
  1. SELECT nazwa_koloru, CAST(HEX(kolor) AS UNSIGNED) AS kolor FROM `kolory`;
Puszy
Chciałbym pociągnąć dalej kwestię tego co powiedział Pyton. Nie wiem jak wielką ilość danych i jak niewydajną bazę musiałbyś mieć żeby taki ruch był opłacalny, nawet w przypadku milionów rekordów to wolałbym wrzucić wszystkie możliwe kombinacje kolorów (16.7kk) i po prostu potem pracować na relacji.
Pyton_000
Puszy a ja bym chciał zobaczyć projekt któy by był użył tych 16kk kolorów biggrin.gif
Puszy
Baza obywateli Europy i ich ulubione kolory biggrin.gif
Pyton_000
Zakładając że połowa powie biały/czarny/przeje...y to aż tak dużo kolorów nie potrzeba. biggrin.gif
Puszy
Ale rozumiesz ideę, kiedyś napotkałem kod forum który zamiast zapisywania postów zapisywał sekwencję relacji do słów zbieranych w osobnej tabeli. Nie wiem czy to przerost formy nad treścią czy po prostu "usprawniony" system wyszukiwania
Pyton_000
Tak, phpBB2 bodaj miało tak że zapisywało każde słowo oddzielnie z id postu biggrin.gif Ot taki super mega search smile.gif

Ale co do tematu @Kshyhoo to wystarczy spokojnie CHAR(6)
SmokAnalog
A może tak zapisz kolor w kolumnie mediumint? Ma 3 bajty, czyli dokładnie tyle, ile potrzeba. Nie zapisywałbym koloru jako jego wartości reprezentacyjnej.
Kshyhoo
Cytat(Pyton_000 @ 22.01.2018, 12:54:02 ) *
Ale co do tematu @Kshyhoo to wystarczy spokojnie CHAR(6)

Tak zrobiłem już po zapoczątkowaniu dyskusji. Dzięki wszystkim za zaangażowanie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.