![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję waszej porady odnośnie stworzenia tabeli .Potrzebuję tabelę w której będą przechowywane ustawienia np: ilosc artykułów na www =5 (wartosć).Chodzi mi o to jak to najefektywniej zrobić pod względem łatwości odczytu myślałem o :
tylko jak potem efektywnie odczytywać wartości ustawień? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
no jeżeli zależy Ci na efektywności to może warto by je zapisywać do pliku? kilka wartości łatwo przechowasz w pliku no i nie musisz łączyć się z bazą, żeby je wyciągać tylko zainkludujesz sobie plik, możesz trzymać je w tablicy
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
najłatwiej będzie tak moim zdaniem:
potem wyciągasz tak: a potem to już z górki bo w odpowiednim miejscu wpisujesz:
pozdrawiam EDIT: tehaha ma rację - jeżeli strona będzie miała duży ruch to za każdym razem będzie Ci się wykonywało zapytanie. Ten post edytował sebekzosw 26.06.2010, 12:05:55 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Jeśli wartość to liczba to używaj typu danych INT. Jeśli ustawienie to niewielka ilość tekstu to używaj VARCHAR(xx).
Odczytywałbym to tak: TABEALA: ustawienia ustawienie | wartosc ilosc_art | 5 ograniczenie_czasowe | 30 zezwalaj_na_usuwanie | 0 ilosc_czegostam | 230 ODCZYT:
Itd dla kazdego ustawienia. |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat EDIT: tehaha ma rację - jeżeli strona będzie miała duży ruch to za każdym razem będzie Ci się wykonywało zapytanie. IMHO i tak lepiej w pliku. Czymś takim - wbrew pozorom - da się naprawdę łatwo zarządzać (vide: parse_ini_file albo var_export). Jeśli zastosuje się natywną składnię PHP i na serwerze jest zainstalowany jakiś akcelerator, to taka konfiguracja będzie wczytywana w ułamku sekundy. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze jakieś sugestie?Skłąniam raczej się w sronę mysql bo tak w duzych skryptach jest ale jak macie jakieś ciekawsze propozycje to proszę (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
mysql bo tak w duzych skryptach jest trochę słaby argument, poza tym sam sobie to przemyśl, jeżeli to jakiś duży system to żeby wyciągnąć ustawienia musisz wykonać przynajmniej jedno zapytanie dla każdego użytkownika, 1000 użytkowników to 1000 zbędnych połączeń do bazy, i nie myśl, że przechowywanie tego w pliku jest jakoś bardziej skomplikowane albo mniej elastyczne bo kiedy pobierasz sobie te ustawienia np. funkcją mysql_fetch_assoc() to wyciągasz tablicę z danymi, i dokładnie taką samą tablicę możesz trzymać w pliku z taką różnicą, że nie ma tego zbędnego połączenia z bazą danych i zmniejszy to czas ładowania oraz obciążenie serwera w godzinach szczytowych |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja również jestem za trzymaniem danych w pliku ,biorąc np fakt zapisu/aktualizacji wykonująć to za pomocą SQL rekordów wiąrzę sie to z dużą liczbą wykonywanych zapytań do SQL
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat mysql bo tak w duzych skryptach jest ale jak macie jakieś ciekawsze propozycje to proszę Ale tam jest od razu cache'owanie tego czegoś. Jeśli dobrze przemyślisz aplikację, uda Ci się osiągnąć connect-on-demand, a każdorazowe wczytywanie konfiguracji z bazy jest raczej strzałem w stopę. (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Trzymaj to byle gdzie byleby ostatecznie trafiło to na stałe do pamięci RAM. Możesz to zrobić idąc za radą exira:
Cytat Jeśli zastosuje się natywną składnię PHP i na serwerze jest zainstalowany jakiś akcelerator, to taka konfiguracja będzie wczytywana w ułamku sekundy. Lub korzystając z funkcji zapisu/odczytu z pamięci (udostępnianych przez takie akceleratory).Googleuj za APC i podobnymi. |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Lub korzystając z funkcji zapisu/odczytu z pamięci (udostępnianych przez takie akceleratory). Ale po co wtedy? Tylko sobie utrudniasz życie, bo trzeba za każdym razem sprawdzać, czy te dane faktycznie się tam znajdują. A jak masz wszystko w kodzie zwyczajnej tablicy, to dopalanie przebiega przezroczyście - akcelerator sam analizuje co, kiedy, gdzie i czy w ogóle cache'ować. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W przypadku gdyby przykładowo konfiguracja jednak miała znajdować się w bazie danych. I tak... rozwiązanie z plikiem+akceleratorem jest bardzo wygodne i wydajne - również je polecam.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jednak wziełęm mysql bo niebędę miał dużo zapytań na raz a pomysł "sebekzosw" tylko dodaje jedno zapytanie no ale tworzę bazę tak :
wszystko isę tworzy i teraz pytanie jak edytować tka zbudowaną bazę (poszczególne wartości) ? Ten post edytował meron11 26.06.2010, 21:59:05 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 69 Dołączył: 26.04.2010 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jednak wziełęm mysql bo niebędę miał dużo zapytań na raz a pomysł "sebekzosw" tylko dodaje jedno zapytanie no ale tworzę bazę tak : wszystko isę tworzy i teraz pytanie jak edytować tka zbudowaną bazę (poszczególne wartości) ? No chyba UPDATE?? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze: taka baza to chory pomysł - 200 zmiennych konf. i 200 kolumn? Normalna tabela z dwiema kolumnami: name, value - value jako TEXT - zmiennym nietekstowym nic się nie stanie jak będą jako tekst zapisane.
|
|
|
![]()
Post
#17
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jak dla mnie? Najlepiej zapisać konfigurację do pliku jako tablicę, a sam plik potem tylko includujemy. Chyba prościej zrobić sobie:
lub nawet lepiej
i w dowolnym pliku zrobić include 'nasz_konfig.php'; Ale skoro się upierasz to zrób tak jak choćby ja w niektórych projektach, ale zaznaczam, że są one małe i wiem, że rzadko stosowane. Wolę pliki (IMG:style_emoticons/default/smile.gif) Struktura tabeli: parametr (varchar 25 - unique), wartosc( varchar 75), Wrzucam odpowiednie pary.Wyciągam rekordy poprzez odpowiedni WHERE lub... wyciągam całą tabelę i robię mniej więcej tak: Oczywiście dane z bazy sprawdzam czy istnieją (odpowiednie IF i mysql_num_rows). Tu tylko dałem szybki szablon jak zrobić sobie tablicę z danymi konfiguracyjnymi jeśli koniecznie chcemy bazę do tego zaprząc. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
plik.... jak go poem zeedytuje z poziomu php ?...
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
najprościej to tak:
a z wpisywaniem danych do tablicy już sobie chyba poradzisz |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
dodatkowo zamiast trzech linijek do zapisu pliku można użyć file_put_contents (IMG:style_emoticons/default/winksmiley.jpg)
Ten post edytował Quantum 27.06.2010, 11:47:55 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 1 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
thx ,close (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 02:12 |