![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, do którego działu najlepiej pasowałby ten temat (MySQL, PostgreSQL), więc piszę tu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ostatnio pisałem skrypt bazy danych na plikach CSV, czyli takich, w których pierwsza linia zawiera nazwy pól pooddzielane jakimś separatorem, a następne linie zawierają dane (również oddzielone tym samym separatorem). Porzuciłem ten projekt i zacząłem pisać skrypt na nieco innej zasadzie. Otórz założyłem, iż dane w bazie nie będą oddzielane separatorami, lecz będzie podawana długość każdego pola, czyli taki zapis: 004016MarsCzerwona planeta oznacza, że pierwsze pole (4 znaki) ma wartość "Mars", a drugie (16 znaków) "Czerwona planeta". Taki zapis ma jednak wady, ponieważ na początku bazy (pliku z danymi) muszę podawać z ilu cyfr ma się składać każda liczba reprezentująca ilość znaków pola, czyli np. muszę podać 3, aby liczby miały postać: 001, 002, 003 itd., lub wpisać 4 dla licyb w postaci 0001, 0002, 0003 itd. Mój problem polega na tym, że nie wiem jak mogę to uprościć, aby liczby mogły być zapisywane jako 1, 2, ... 7, 8, 9 , 10 , 11, ... 98, 99, 100, 101, a nie 001, 002, ... 007, 008, 009 , 010 , 011, ... 098, 099, 100, 101, bo przecież skrypt musi wiedzieć, jak odczytać na przykład coś takiego 123456(tak 123, 456, czy może tak 12, 34, 56, a może 12, 3, 456, albo jeszcze inaczej). Myślałem także nad liczbami w systemie 16-wym, dzięki czemu dwucyfrowa liczba mogła by mieć wartości od hex:00 (dec:0) do hex:ff (dec:255), jednakże czasami potzrebna jest większa liczba, więc musiałbym stosować trzyznakowe od 000 do fff i tu znów pojawia się ten sam problem, bo liczby muszą się składać aż z trzech znaków. Czy da się coś zrobić, aby każdy rekord w bazie danych nie rozpoczynał się długim ciągiem cyfr typu 0080050090a40060040100c2:?: |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 234 Pomógł: 0 Dołączył: 9.04.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Nie piszę o rozwiązaniach gotowych, ale uniwersalnych - chodzi o to, abyś stworzył sobie skrypt do obsługi więcej niż jednego pliku. Ja ostatnio sobie taki zrobiłem, ale stwierdziłem, że to chyba jednak nie ma sensu (mój skrypt miał za wiele wad (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ), więc zacznę używać MySQL'a :?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 00:08 |