![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niby pytanie jest proste ale... ;)
Wykonałem taki test: Wiedząc, że typ BIGINT w bazie MySQL zajmuje 8 bajtówi przyjmuje wartości od [0, 18446744073709551615] napisałem taki skrypt:
I W wyniku otrzymuję napis, że są równe :-/ To moje pytanie jest takie. Jak poprawnie odczytać z bazy danych i zapisać do niej typ BIGINT skoro PHP ma problem z przyjmowaniem takich dyżych liczb? Edit: Jak odczytać to jakoś działa (ku memu wielkiemu ździwieniu!). Zapisałem do bazy największą liczbę w tym typie (ręcznie, beż skryptu PHP) i odczytuje się poprawnie. Ale nadal z zapisywaniem jest problem, bo jak zapisać do bazy taką dużą liczbę? Ten post edytował achaja 7.03.2009, 21:06:18 -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Zapisuj tak, jak to robi bcmath - liczby traktowane jako string.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 71 Pomógł: 4 Dołączył: 3.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pomysl rozumiem ale wykonac nie potrafie.
Zalozmy, ze jest formulaz z 64 sekcjami. Kazda sekcja sklada sie z dwoch pol typu radio. Rownie dobrze mozna to utozsamic z ciagiem 64 bitowym, gdzie kazdy bit jest tak naprawde flaga binarna. Jak zrobic aby te 64 flagi binarne polaczyc w jedna liczbe 64 bitowa i zapisac do tabeli, w ktorej znajduje sie kolumna z typem BIGINT akurat czekajaca na taka liczbe. Mecze sie z tym juz pare dni i nie wiem jak to wykombinowac ![]() -------------------- Pozdrawiam serdecznie
Krzysiek |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Zapisz każdą jako stringa, i sklej je wszystkie razem. A potem do bazy zapisz.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
a to czytales?
http://dev.mysql.com/tech-resources/articl...t-datatype.html EDIT: albo uzyj zwyklej tablicy PHP do prostego przechowywania stanu wszystkich checkboksow... operacje na bitach sa dobre jedynie kiedy porownujesz aktualny stan ze zdefiniowaną matrycą (logiczne AND) a taka funkcjonalnosc Tobie nie jest chyba potrzebna tutaj? to sie stosuje np. zeby sprawdzic uprawnienia usera w zaleznosci do jakiej grupy nalezy np. $grupy = 2 + 4 + 32; if($grupy & 16) // nie nalezy PS. @Mephistofeles: to Twoim zdaniem 40 + 40 = 4040 ? Ten post edytował Orkan 17.03.2009, 14:10:41 -------------------- The fastest app with PHP: <?php die('Hello World'); ?>
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Miałem na myśli zapisane flagi jako 0-1.
Ten post edytował Mephistofeles 17.03.2009, 13:38:08 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 4 Dołączył: 19.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
tylko pytanie jak pozniej zapisac taki string jako BIGINT ? MySQL sam przeciez nie przekonwertuje tego. Potrzebny jest bcmath.
-------------------- The fastest app with PHP: <?php die('Hello World'); ?>
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:53 |