Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz podzielony na strony
panjarek
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 8.03.2009

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


Witam.
Robię dodawanie artykułów na stronę i mam pewien problem.
Otóż jak zrobić aby po napisaniu tresci w formularzu na dole były przyciski:
zakończ - zapisałby to co wpisano w pola i wyszedł z edycji
dalej - zapisałby to co wpisano i otworzył kolejne pole aby można było pisać następną stronę artykułu.
Niebardzo wiem jak szukać odpowiedzi na moje pytanie dlatego kieruję je tutaj.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli zależy Ci tylko na tym, by dany Podtytuł miał jedną stronę to wystarczą takie struktury tabel:

tytuły: id (int - PRIMARY KEY), nazwa( varchar - 200? )
podrozdzialy: id(int - PRIMARY KEY), id_tytulu(int - INDEX), nazwa( varchar - 200? ), tresc( text )

Dzięki temu masz jedno łączenie mniej i jest zgodne z zamysłem który miałeś, czyli 1 podrozdział = 1 strona treści. Indeksy pozakładałem byś miał szybciej działający JOIN dla łączenia artykułu z jego rozdziałami (IMG:style_emoticons/default/smile.gif)

EDIT: W chwili obecnej też możesz fajnie prosto zrobić wyświetlanie podrozdziałów w artykule bez odnoszenia się do faktycznego id podrozdziału. Jako że struktura jaką przyjmę tyczy określonej przeze mnie w tym poście struktury to pomyśl jak "złapać" 3 rozdział artykułu o id 7? To proste. Wybierz wszystkie podrozdziały go tyczące, uporządkuj po id rosnąco i wybierz konkretny jeden o offsecie 2 (bo liczenie od 0 jest, czyli trzeci to 0, 1, 2). Czyli masz mniej więcej zapytanie:
  1. SELECT kolumny FROM podrozdziały WHERE id_tytulu = 7 ORDER BY id ASC LIMIT 2,1
To szybsze niż wyciąganie z bazy jaki id ma ten akurat podrozdział by go potem pobrać. Poza tym takie potraktowanie pozwala zastosować SQL_CALC_FOUND_ROWS dla zrobienia łatwo paginacji. Poczytaj o tym co mam dużymi literkami a zobaczysz jak bazę odciążyć można. Bo wielu nieszczęśników zapewne by do paginacji jeszcze SELECT count(*) użyło dla tych samych warunków zapytania, nie wiedząc o alternatywie. Jedno ciężkie nieraz zapytanie + proste zamiast 2 nieraz ciężkich to duży w wielu przypadkach skok w wydajności.

Ten post edytował thek 2.03.2010, 15:30:14
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 13.10.2025 - 12:47