Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: textowa baza danych
Forum PHP.pl > Forum > PHP
xblant
Chce napisac skrypt bazy textowej, porobowalem podchodzic do tego conajmniej 5 razy i zawsze gdzies utykalem a potem wszystko sie wailo i to co napisalem jest bezuzyteczne. Wiem ze sa klasy do tego ale ja potrzebuje wlasnej roboty, myslalem o jednej funkcji z nieogranoczona iloscia argumentow i kazdy argument to zapytanie np.CONECT (i nazwa bazy danych). ale tesh nie wypalilo i sie poddalem wiec pisze tu bo to przerasta moje mozliwosci. Moze ktos cos takiego pisal i podzuci jakis dobry pomysl albo napisal i tesh cos podzuci licze na wasze odpowiedzi smile.gif
PS. probowalem zrobic to tak ze baza danych to katalogi w danym foldeze a tabele to pliki php.
Jak podac jakis kod to mowcie ale sa one dosc dlugie (bo skladaja sie z ok. 9 funkcji) dlatego nie wklejalem.
.radex
możesz zrobić to w osobnych plikach, ale kuppa roboty i wali sie serv, drugie rozwiazanie to uzycie skryptu bazy na przykładzie PHP5 (programowanie obiektowe) ale ottyym chyba pisałe¶, sam nie jestem zbytnio dobry w php-ku więc wiele Ci nie pogę
Pozdrawiwam, Radex
xblant
moge napisac klase ale napotykam na problemy ktorych niemoge rozwiazac np. usuwanie rekordow bo usune linijki z rekordem a resz ta indexow tablic zostanie nie zmieniona, albo niemoze zawierac wszystkich znakow bo uzywam eplode() do rozdzilenia rekordow a rozdielaczem jest '|' albo ','i w rekordach jush tych zanakow nie moze byc bo bedzie za duzo recordow dala wiersza.
prosze o pomoc jakies podpowiedzi
Hacker
hmmm...
według mnie DB to mógłby być katalog
w tym katalogu pliki.txt
a zapisywanie w nich było by np. takie
Kod
Int(2) `Id`|Str(10) `Imie`|Str(20) `Nazwisko`
1|Ja¶|Jaki¶\|ico¶
2|\|lol|Niewiem
3|Małgosia|Małgosińska

i najpierw parsuje strukture tabeli
a potem odczytuje rekordy
przy dodawaniu i edytowaniu zamienia | na \|, a \ na \\
a przy odczytywaniu \| na |, a \\ na \
baza po sparsowaniu mogła by być cachowana
dr_bonzo
W skrocie: czemu nie mozesz uzyc "normalnej" bazy danych?
Zaczniesz od binarnego przechowywania danych, potem bedziesz chcial zaimplementowac zapytania, .... i za kilka lat sie zorientujesz ze napisales mysqla tyle ze dzialajacego 100x wolniej.


edit: jeszcze to http://txtdb.strefaphp.net/
xblant
@dr_bonzo
wiem o tej bazie textowej ale niechce uzywac gotowcow. O jaka normalna baze ci chodzi jesli MySQL to nie moge niemam jej na serweze a potrzebuje darmowego z duza pojemnascia (albo duza przestrzen dyskowa i mala baza albo na odwrot) sad.gif
@Hacker
prubowalem z to tak rozwiazac ale cos nie szlo
i jak podzielisz taka linijke:
1|Ja¶|Jaki¶\|ico¶
funkcja explode to wyjdzie ci
0 - 1
1 - Ja¶
2 - Jaki¶\
3 - ico¶
a nie
0 - 1
1 - Ja¶
2 - Jaki¶\|ico¶
Hacker
preg_split lub split
devnul
serialize i unserialize :|
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.