Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zapis koloru HEX do bazy
Kshyhoo
post
Post #1





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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...
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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"
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Na prawdę potrzebujesz zaisać to w binary? Po co takie ceregiele (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Wygląda jakbyś nie robił HEX na tej wartości, bo powinieneś otrzymać string 6-znakowy.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Mniej miejsca (IMG:style_emoticons/default/smile.gif) Ale zapiszę inaczej, (IMG:style_emoticons/default/smile.gif)

No właśnie. Może mysqli nie obsługuje?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A z ciekawości ile mln kolorów tam będzie zapisane?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #8





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Może z kilkaset rekordów. Szukałem w necie typów i znalazłem to i chciałem skorzystać (IMG:style_emoticons/default/wink.gif)

Jaki typ najlepiej ustawić?
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Spróbuj:
  1. SELECT nazwa_koloru, CAST(HEX(kolor) AS UNSIGNED) AS kolor FROM `kolory`;
Go to the top of the page
+Quote Post
Puszy
post
Post #10





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Puszy a ja bym chciał zobaczyć projekt któy by był użył tych 16kk kolorów (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Puszy
post
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Baza obywateli Europy i ich ulubione kolory (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #13





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Zakładając że połowa powie biały/czarny/przeje...y to aż tak dużo kolorów nie potrzeba. (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Puszy
post
Post #14





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #15





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Tak, phpBB2 bodaj miało tak że zapisywało każde słowo oddzielnie z id postu (IMG:style_emoticons/default/biggrin.gif) Ot taki super mega search (IMG:style_emoticons/default/smile.gif)

Ale co do tematu @Kshyhoo to wystarczy spokojnie CHAR(6)
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #16





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #17





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 03:28