Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [class] dbtxt
widmogrod
post 5.06.2006, 22:48:11
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.10.2005
Skąd: kraków

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


Witam, pragne wam zaprezentować moją klase 'dbtxt' - tekstowa baza danych

INTRO:
Jako że jestem (już niedługo) użytkownikiem darmowych hostingów, które nie oferują dostępu do MySQL'a lub innej bazy danych postanowiłem takową napisać. Jako iż obecnie bardziej popularną wersją php na darmowych hostingah jest 4 to ją wykorzystałem do napisania mojej bazy.

Jest to jak, wyżej napisałem, baza działająca na plikach testowych.
Oto lista zapytań jakie obsługuje

oczywiście przykładowe winksmiley.jpg

  1. DELETE FROM niusy WHERE id < 2
  2. DELETE FROM niusy WHERE id > 2
  3. DELETE FROM niusy WHERE id = 2


  1. SELECT ALL FROM niusy SELECT ALL FROM niusy ORDER BY autor DESC SELECT ALL FROM niusy ORDER BY autor DESC LIMIT 12
  2. SELECT ALL FROM niusy WHERE autor = "dom" ORDER BY autor DESC LIMIT 1, 4
  3. SELECT ALL FROM niusy WHERE id < 16 ORDER BY autor ASC SELECT ALL FROM niusy WHERE id < 16 ORDER BY autor ASC LIMIT 1, 1

all - jest zawsze, narazie nie można wybierać kolumn do wyciągnięcia z tabeli
  1. UPDATE niusy SET temat=nowy temat, tresc= tu jakaś NOWA tresc WHERE id =2
  2.  
  3. INSERT INTO niusy VALUES ("","temat", "treść, jakaś krótka treść", "widmogrod")


a tutaj plik bazy z przykładami
http://samsung.ovh.org/dbtxt.rar

Co sądzicie o klasie, o bazie questionmark.gif


--------------------
http://blog.widmogrod.info

KontorX – rozszeżenie bibliotek Zend Framework - http://code.google.com/p/kontorx/
KontorX – przykłady - http://kontorx.widmogrod.info

Cappuccino Framework - http://wiki.widmogrod.info/cappuccino
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post 6.06.2006, 08:37:11
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Idea takiej klasy bardzo mi sie podoba. juz na starcie za to masz plusa smile.gif

ale ty chyba nie pisales jej przy wlączonym raportowaniu noticow. Gdy wykonuje Twoj pierwszy przyklad z paczki, wywala mi przy bodajze przy insercie:
Cytat
Notice: Undefined offset: 4 in C:\Inetpub\wwwroot\apache\test\baza\dbtxt.class.php on line 404

Notice: Undefined offset: 5 in C:\Inetpub\wwwroot\apache\test\baza\dbtxt.class.php on line 404


olaboga... wlasnie wykonalem Twoj drugi przykladwoy skrypt. Cala strona noticow... Proponuje ci poprawic ten kod o zniweczenie tych noticów. tylko blagam, nie rob tego poprzez dodanie malpy @
ale pomijajac juz te noticy:
Funkja query() zwraca tablice rekordów dla selecta. OK. ale jest tez funkcja fetch_assoc(), ktorej parametrem jest ta zwrocona tablica i ona zdejmuje z niej pokolei elementy. osobiscie uwazam to juz za zbedne, bo to zadna funkcjonalnosc ani optymalizacja, skoro ja do tej funckji i tak musze zapodac cala tablice. rownie dobrze moge se tym foreachem przeleciec.

- update. robie update rekordu o ID = 2. ale w tabeli nie mam takiego rekordu. no i niestry twoj przykladowy skrypt nr 3 pisze mimo wszystko ze update sie powiodl. no nie dokoncu, bo mi przeciez nic nie updateowalo smile.gif Brakuje funkcji, ktora by zwracala ilosc przetworzonych rekordow. Podobnie jest zapewne z insertem i delete. taki odpowiednik mysql_affected_rows.

I jeszcze taka popierdulka. czemu nadajesz metodom w klasie przedrostek dbtxt_. Jest on moim zdaniem zbedny i tylko nie potrzebnie wydluza nazwe metody. wkoncu są to metody w klasie i wiadomo do jakiej klasy naleza.

aa, no i przydalby sie jakis numer i komunikat "skladniowego" bledu. bo jesli zamiast przy update wpisac SET wpisze SETs, to oczywiscie zwroci false, ale nie zwroci dlaczego. powinno byc: "nie znane slowo kluczowe SETs" czy jakos podobnie.

Podsumowujac:
Jak pisalem klasa sama w sobie mi sie podoba, ale ma jeszcze pare niedociągniec, ktore mam nadzieje ze poprawisz smile.gif powodzenia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
widmogrod
post 6.06.2006, 17:51:30
Post #3





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 28.10.2005
Skąd: kraków

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


Cytat
Idea takiej klasy bardzo mi sie podoba. juz na starcie za to masz plusa smile.gif


Już myślałem ze będzie pytanie: A po co to ? a tu nie biggrin.gif, bardzie się cieszę ze mój czas nie poszedł na marne i pomysł komuś spodobałwinksmiley.jpg

Cytat
ale ty chyba nie pisales jej przy wlączonym raportowaniu noticow. Gdy wykonuje Twoj pierwszy przyklad z paczki, wywala mi przy bodajze przy insercie:
olaboga... wlasnie wykonalem Twoj drugi przykladwoy skrypt. Cala strona noticow... Proponuje ci poprawic ten kod o zniweczenie tych noticów. tylko blagam, nie rob tego poprzez dodanie malpy @
ale pomijajac juz te noticy


Już poprawione noticy winksmiley.jpg

Cytat
Funkja query() zwraca tablice rekordów dla selecta. OK. ale jest tez funkcja fetch_assoc(), ktorej parametrem jest ta zwrocona tablica i ona zdejmuje z niej pokolei elementy. osobiscie uwazam to juz za zbedne, bo to zadna funkcjonalnosc ani optymalizacja, skoro ja do tej funckji i tak musze zapodac cala tablice. rownie dobrze moge se tym foreachem przeleciec.


Wiem na początku było foreach ale ... chciałem to jak najbardziej upodobnić do zapytań MySQL ... więc postanowiłem dodać fetch_assoc() ... ale narazie działa jak działa ... mi też się nie podoba takie rozwiązanie. Postaram się to poprawić, w następnej wersji.

Cytat
- update. robie update rekordu o ID = 2. ale w tabeli nie mam takiego rekordu. no i niestry twoj przykladowy skrypt nr 3 pisze mimo wszystko ze update sie powiodl. no nie dokoncu, bo mi przeciez nic nie updateowalo smile.gif


Poprawione

Cytat
Brakuje funkcji, ktora by zwracala ilosc przetworzonych rekordow. Podobnie jest zapewne z insertem i delete. taki odpowiednik mysql_affected_rows.


Klasa jest w fazie rozwojowej ... ale napewno się coś takiego pojawi

Cytat
I jeszcze taka popierdulka. czemu nadajesz metodom w klasie przedrostek dbtxt_. Jest on moim zdaniem zbedny i tylko nie potrzebnie wydluza nazwe metody. wkoncu są to metody w klasie i wiadomo do jakiej klasy naleza.


Wiem, ale jak już wyżej napisałem ... wzorowałęm się na zapytaniach MySQL :]

Cytat
aa, no i przydalby sie jakis numer i komunikat "skladniowego" bledu. bo jesli zamiast przy update wpisac SET wpisze SETs, to oczywiscie zwroci false, ale nie zwroci dlaczego. powinno byc: "nie znane slowo kluczowe SETs" czy jakos podobnie.


Tu jest mały problem, narazie mogę dodać do skryptu by zwracał błąd: Zapytanie jest niepoprawne. nie mogę, narazie, sprecyzować gdzie jest błąd w zapytaniu

Cytat
Podsumowujac:
Jak pisalem klasa sama w sobie mi sie podoba, ale ma jeszcze pare niedociągniec, ktore mam nadzieje ze poprawisz smile.gif powodzenia


Dzieki biggrin.gif, klase będę rozwijał :],
a jakieś sugestje co do funkcji jakie w niej mogły by się znaleść questionmark.gif

Ten post edytował widmogrod 6.06.2006, 17:56:44


--------------------
http://blog.widmogrod.info

KontorX – rozszeżenie bibliotek Zend Framework - http://code.google.com/p/kontorx/
KontorX – przykłady - http://kontorx.widmogrod.info

Cappuccino Framework - http://wiki.widmogrod.info/cappuccino
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:28