Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> forum
KRCreater
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


mam zamiar napisać własne forum:
1.Od czego zacząć?jakie bazy danych utworzyć i ile?
2.Korzystać z $_GET czy sesji?
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 55)
kubatron
post
Post #2





Grupa: Zarejestrowani
Postów: 581
Pomógł: 0
Dołączył: 21.07.2003
Skąd: Jasło

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


1. Używać Mysql chyba że chcesz się meczyc na plikach, a od czego zaczonć to jakiś silnik który to napędza
2. Co masz na myśli mówiąc $_GET czy sessji przeciez to nie ma nic ze soba wspolnego!
Go to the top of the page
+Quote Post
Bakus
post
Post #3


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

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


Najlepiej zobacz w jaki sposób działają skrypty takie jak IPB, czy phpBB i na tym się bazuj...
Go to the top of the page
+Quote Post
Puciek
post
Post #4


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(KRCreater)
mam zamiar napisać własne forum:
1.Od czego zacząć?jakie bazy danych utworzyć i ile?
2.Korzystać z $_GET czy sesji?

Brzmi to trochę jak pytanai osoby która z php ma kontakt od niedlugiego czasu i całkowity brak doświadczenia w wydajnej pracy nad większymy projektami, ale zakładając że tak nie jest przedstawię ci jak ja zasiadłem to pisania własnego forum (http://fgarden.e6.pl/forum/).

Zacząłem od wybrania pomiędzy wydajnością a wielkości bazy danych. Jest to wybór zasadniczy ponieważ jeżeli zdecydujemy się na wielką bazę danych to będziemy wpisywać ilość postów, ilość tematów w danym forze, a co za tym idzie dośc sporą ilość danych. Z koleji na mniejszej wydajności (moje rozwązanie) wszystkie dane dynamiczne (ilość postów, ilość tematów w forze) pobieramy za każdym wywołaniem.

Po dokonaniu wyboru zasiadamy do choćby notatnika i zapisujemy plik jako "dokumentacja.txt" i zaczynamy zapisywać tam wirtualne tabele bazy danych, na zasadzie
Cytat(Puciek Forum Doc)
fora(5 pól)
  id, nazwa, opis, pozycja, status
      id - Numer kontrolny fora
      nazwa - Etykietka fora
      opis - Opis fora
      pozycja - Numer kolejności fora
      status - 0-Wyłączone, 1-Włączone

i dzięki temu podczas pisnaia dalszego oskryptu mogę bez łaczenia się z bazą danych odrazu sprawdzić jak wygląda dana tabela i jak się do niej odwołać.

Potem następuje mozolne skryptowanie, ja skryptowałem "warstwowo". Znaczy to tyle że najpierw powstaje jądro, potem moduł wyświetlający layout, potem modół ładujacy system mieszkańców, logowania itd.

Od kiedy forum będzie w miare funkcjonalne (możliwa rejestracja, logowanie, pisanie postów, zakładanie tematów) wypuszczamy je i ludzie dyskutują, zgłaszajac przy okazji błedy. Kiedy załatamy wskazane siadamy do kolejnych modółów i tak aż do ukończenia pracy.

Nie ma tu za dużo konkretów ponieważ tu każdy musi zachowac indywidualnosc rozwiazań, ponieważ jeśli ma to działać jak inne fora to nie ma sensu tego pisać bo jak to mówi Dragossani "Po co wyważać otwarte drzwi ?".
Go to the top of the page
+Quote Post
Vertical
post
Post #5





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Po pierwsze załóż bazę MySQL, a po drugie stwórz w niej tabelę z danymi, jakie ci potrzeba (zależy jakie to ma być forum), a po drugie: sesja i $_GET mało mają ze sobą wspólnego... powinieneś się raczej zapytać: $_GET czy $_POST... a tak na marginesie, to staraj się jak najczęściej używać $_POST... chyba, że się nie da. Wiesz... znałem kolesia, który próbował napisać "najlepsze" forum i login ustawił metodą $_GET... Szczerze odradzam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A tak nawiasem mówiąc do Puciek'a- nie gnój tak KRCreater'a, bo mu się odechce na tym forum pisać...
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Ten post edytował Vertical 9.09.2004, 15:11:44
Go to the top of the page
+Quote Post
Puciek
post
Post #6


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(Vertical @ 2004-09-09 16:06:34)
A tak nawiasem mówiąc do Puciek'a- nie gnój tak KRCreater'a, bo mu się odechce na tym forum pisać...

Nie gnoje go tylko inforumuje że należy mierzyć siły na zamiary, a pisanie forum to zadanie wyższych lotów.
Go to the top of the page
+Quote Post
yavaho
post
Post #7





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Ja tez jestem na wstepnym etapie pisania forum i tez nie wiem do konca jak to zrobic choc juz mam zrobione pewne moduly.
Pochwale sie jak w tej chwili wyglada moja baza danych i przy okazji poprosze o skomentowanie tego czy dobrze ja zaplanowalem.

Forum ma byc dolaczone do istniejacej juz strony na ktorej istnieje juz baza danych z userami ktorzy maja juz okreslone rozne uprawnienia w dodatku w bazie z userami znajduja sie dwa wolne pola Integer ktore moge wykorzystac.
Odpada wiec tworzenie tablicy z userami. Pozostale tablice zaplanowalem tak:

TABLE forum
ID
nr - numer dzieki ktoremu bede mogl ustawic pozycje na stronie
temat - glowny temat forum
opis - krotki opis tematu
status - tu ustale prawa kto bedzie mogl czytac i pisac na tym forum
il_watkow - licznik (ile juz jest watkow w tym forum)
il_odpowiedzi - licznik (ile jest odpowiedzi)

TABLE watek
ID
ID_forum - powiazanie z tabela (forum)
ID_users - powiazanie z tabela (users)
temat - temat watku tworzony przez uzytkownika
data - data utworzenia watku
status - tu bede mogl np zablokowac watek
il_odpowiedzi - licznik (ile jest odpowiedzi)
il_wyswietlen - licznik (ile bylo wyswietlen)

TABLE wypowiedz
ID
ID_watek - powiazanie z tabela (watek)
ID_users - powiazanie z tabela (users)
data - data dodania wypowiedzi
tresc - no i tresc
Go to the top of the page
+Quote Post
KRCreater
post
Post #8





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


yavaho zrobiłem podobnie do Ciebie tylko u mnie wszystko sie inaczej nazywa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Nie mierze za wysoko bo z php jestem już trochę obeznany (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) hehe (wszystkiego nauczyłem się - można tak powiedzieć - na tym forum,a reszte wyczytałem w dokumentacji php.
Wracając do tematu, stowrzyłem 3 tabele forum_dzialy,forum_topic,forum_odp
ale mniejsza z tym.Już zrobiłem wszystko żeby mi wyświetlało - jest elegancko.
Tylko mam mały problem, nie mam pomysłu jak zrobić dla każdego usera to aby pokazywała się ikonka przy topicu którego on jeszcze nie czytał, a jak przeczyta ( kliknie w link topciu ) to się zmieni na taką które będzie symbolizowała że już to widział. A jak pojawi sie odpowiedź w tym temacie to on skoczy na początek, górę danego działu i znów pokaze się ikonka. jak to zrobić ? To ze "skoczeniem" topicu na góre zrobie tak że poprostu posortuje bazę według daty i godziny.

Ale jak zrobić te ikonki??zastosować ciastka hehe
A drugi problem to chciałem aby przy dziale pokazała się data ostatniego topicu , nazwa użytkownika który utowrzył topic i temat

Mam nadzieję że w tym mi pomożecie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
Puciek
post
Post #9


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Wyświetlanie danych z ostatniego posta to poprostu zapytanie z order by data i limit 0,1. A potem wyświetlenie.

A co do postów to najlepiej zrobic coś na zasadzie Post Trackera w którym apisujemy przez kogo dany post został obejrzany.
Go to the top of the page
+Quote Post
KRCreater
post
Post #10





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


że sam na to nie wpadłem.

post_tracker?
hmmm ja chcę to zrobić za pomoca ciastek, chcę storzyć ciacho o id topicu np. 34732 i przy wyświetleniu topicu sprawdzi czy ciacho istnieje jeżeli nie to je tworzy.
A przy wyświetlaniu listy topic'ów zadziala anlogicznie ;]

Ale w sumie to będzie działać tylko raz jak kliknie to ten topic będzie uznany jako przeczytany ciastko się zrobi i kicha, bo ja ktoś odpowie to się nie pokaże ikona już że jest nowa wiadomość, ponieważ ciastko już będzie istniało.
Więc jak by to zrobić hmmmmm (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

Ten post edytował KRCreater 9.09.2004, 23:28:04
Go to the top of the page
+Quote Post
yavaho
post
Post #11





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Podczas wyswietlenia topicu nalezalo by storzyc ciacho lub oswiezyc juz istniejace i zapisac w nim liczbe ile odpowiedzi juz ma dany topic potem sprawdzac czy ta liczba wzrosla, albo zapisywac aktualny czas otwarcia topicu i potem porownac czy ostatnia odpowiedz w topicu ma pozniejszy czas.
Tylko nie wyobrazam sobie tego jak to bedzie dzialalo jak ktos dziennie otwiera kilkadziesiat topikow? Ilosc ciasteczek jest chyba ograniczona i nie kazdy klient moze miec wlaczone ciasteczka. A w moim przypadku jest tak ze serwer wogule nie wysyla ciasteczek do klientow! Mysle ze do tego trzeba by bylo wykorzystac baze danych.

Puciek - co to jest Post Tracker?
Go to the top of the page
+Quote Post
KRCreater
post
Post #12





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


No dobra nie zastosuje ciastke ze względu na to że niektórzy mają to wyłączone i przedewszystkim że to może dużo zajmować miejsca.
Więc w jaki sposób w bazie mysql mam to zrobić?hmmmmmm (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)

Proszę o jakieś sugestie jak mogę to zrobić w bazie mysql - nie stosując ciastek?

Ten post edytował KRCreater 10.09.2004, 11:48:14
Go to the top of the page
+Quote Post
Puciek
post
Post #13


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Cytat(yavaho @ 2004-09-10 01:26:14)
Puciek - co to jest Post Tracker?

Jest to tbela w ktorej zapisane jest id kazdego posta oraz lista uzytkownikow korzy je widzieli, co w pelni rozwiazuje problem z nowymi postami. Osobiscie sam mysle nad czyms nowym poniewaz to strasznie pozera baze danych.
Go to the top of the page
+Quote Post
bigZbig
post
Post #14





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Moim zdaniem nalezy zarejestrowac date i godzine wyswietlenia danego tematu przez konkretnego usera i porownac ja z data ostatniego posta w temacie. Jezeli data ostatniego posta jest pozniejsza od daty odwiedzin to znaczy ze nalezy wyswietlic ikonke nieprzeczytane.

A tak na marginesie. Zanim zaczniecie pisac skrypty dobrze sobie wszystko przemyslcie. Uwzglednijcie np wersje jezykowe, wersje layautu. Najlepiej podpatrzec rozwiazania z innych for.

Natomiast co do pytania sesje czy GET to wcale nie jest ono bez sensu bo tak naprawde sprowadza sie do problemu przenoszenia identyfikatora sesji. W phpBB jest tak, ze jezeli z jakichs powodow automatyczne przekazywanie identyfikatora sesji (np poprzez ciasteczka) nie dziala to do kazdego adresu dolaczany jest identyfikator sesji. Dzieki temu sesje dzialaja w kazdej sytuacji bez wzgledu na ustawienia serwera czy indywidualne ustawinia przegladarek.
Go to the top of the page
+Quote Post
KRCreater
post
Post #15





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


A więc co zastosować ciastka czy Post Tracker?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Puciek
post
Post #16


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Zapytaj się jeszcze czy uzyć echo() czy print(), to wszystko zlaezy od ciebie.
Go to the top of the page
+Quote Post
KRCreater
post
Post #17





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


nie rób ze mnie k#&%@! debila (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)
Pytam bardziej doświadczonych.
Może zrobimy ankiete ? ha?
Chciałbym jakąś konkretną odpowiedź
Go to the top of the page
+Quote Post
Puciek
post
Post #18


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Nie klnie sie w miejscu publicznym.

A gwoli scislosci to tutaj zdania beda podzielone, bo kazdy zyje po sowjemu a jezeli oczekujesz ze ktos bedzie cie za reke rpowadzil podajac cale zalozenia to to nie bedzie twoje forum. SWOJE FORUM MUSISZ ROBIC SAM !
Go to the top of the page
+Quote Post
KRCreater
post
Post #19





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Sorry za przeklinanie,ale kurczę wydaje mi się,a jestem nawet skłonny powiedzieć, że jestem pewien,bo ludzie odwiedzający moje forum nie będą nawet wiedzieć jak wyłączyć ciastka.Więc zastosuje ciastka,a nie post tracker'a, ale powoli już sam nie wiem co było by bardziej słuszne...
Jeżeli będa dochodziłu do mnie głosy że ludzie mają wyłączone ciastka to to zmienia poprostu

pozdro stary

ps. mam wypite troche więc moge krzywo pisać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) :żubr: haha
ps2. jak wyciągnąć z ciastka value (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) bo zapomniałem $_COOKIE['i jak dalej'] hehe

Ten post edytował KRCreater 11.09.2004, 22:26:46
Go to the top of the page
+Quote Post
yavaho
post
Post #20





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


stanowczo za duzo zubra (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <?php
  2. if(isset($_COOKIE['nazwa_ciacha']))
  3. $zmienna = $_COOKIE['nazwa_ciacha'];
  4. ?>
Go to the top of the page
+Quote Post
KRCreater
post
Post #21





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


hehehehehehe kurcze testuje,prubuje,testuje i nie mogę napisać tego skryptu do pokazywania NOWEJ nie oglądanej odopowiedzi/nowego postu i STAREJ oglądanej odopowiedzi/postu ;/
Go to the top of the page
+Quote Post
Puciek
post
Post #22


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


PROGRAMISTO, PIŁEŚ, NIE PISZ. NIE PIŁEŚ, WYPIJ !
Go to the top of the page
+Quote Post
son
post
Post #23





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Wiem, że jesteś ambitny ale ja polecam gotowe fora. One są pięknie dopracowane i nigdy nie będziesz miał niczego lepszego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Misiek
post
Post #24





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 18.09.2002
Skąd: Bochnia

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


Hej mam pytanie do yavaho. Ale ktoś inny też może dopowiedzieć, jeśli się z nim zrozumiał. Ja też nie narzekam na nadmiar doświadczenia w większych projektach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chodzi mi o Twój pierwszy post w tym temacie. Zamierzasz wpisywać wszystkie tematy do tabeli watek niezależnie od tego do jakiego działu forum należą? Bo rozumiem że poszczególne działy będą znajdowały się w tabeli forum. Nie lepiej dla każdego działu zrobić tabelkę? Przez słowo "dział" rozumiem to co na tym forum jest: php, php Skrypty, Po stronie przeglądarki, XML, itd.

Pozdrawiam
Go to the top of the page
+Quote Post
yavaho
post
Post #25





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Cytat(Misiek @ 2004-09-12 21:14:06)
Zamierzasz wpisywać wszystkie tematy do tabeli watek niezależnie od tego do jakiego działu forum należą?

Tak
I kazdy wątek bedzie powiazany z tabelą "forum" z odpowiednim dzialem forum.
Tak samo jak wszystkie wypowiedzi z calego forum beda w jednej tabeli i beda powiazane z tabela "watek" z jednym konkretnym watkiem.
No chyba na tym polega sens stosowania baz danych. Nie bede tworzyl nowej tabeli jezeli powstanie nowy dzial na forum.
Go to the top of the page
+Quote Post
KRCreater
post
Post #26





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


mam pytanie, nie mam pojęcia jak wyciągnąć kolejne ID z danej tabeli...
Ale nie chcę tego robić wyciągając największe ID z działu i dodając do niego 1 z oczywistego powodu.
Jeżeli mam np. ID 34,35,36,37 i usunę ID 36,37 to jak utworzę nowy wiersz w tabeli to nie będzie to kontynuacja 35 czyli 36 tylko 38...

Więc jak wyciągnąć z tabeli KOLEJNE ID (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Jak wyciągnąć z bazy Next Autoindex (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował KRCreater 13.09.2004, 00:19:38
Go to the top of the page
+Quote Post
Jojo
post
Post #27





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Wykonaj sobie takie zapytanie:
  1. SHOW TABLE STATUS LIKE 'nazwa_tabeli'

W wynikach będziesz miał pole 'Auto_increment'. Wartość tego pola to właśnie następny autoiundex.

Ten post edytował Jojo 13.09.2004, 00:52:31
Go to the top of the page
+Quote Post
KRCreater
post
Post #28





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


mam kolejne pytanie dotyczące tego co akurat piszę (forum):

Piszę np. wypowiedź w textarea i kiedy w textarea zrobie enter to chciałbym - jak wyświetlę tą wypowiedź - żeby tam gdzie był w texarea enter wyświetliło się <br>

Jak to zrobić? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
Jojo
post
Post #29





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Na php.pl jest artykuł o znakach nowej linii. Przeczytaj. Powinien Ci pomóc.
Go to the top of the page
+Quote Post
KRCreater
post
Post #30





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


sorry już zapomniałęm o tej funkcji (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) -> nl2br();
Go to the top of the page
+Quote Post
SHiP
post
Post #31





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Ja bym proponował poszuakć artykułów na temat: mysqla, sesji, dobrego systemu autoryzacji oraz przejrzeć przynajmniej tabele mysql ibfu ablo phpBB

Co do nowych wiadomosci. Pisze teraz cos takiego do komntrzy(masz farta co do czasu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
UWAGA: kod który zaraz zobaczysz jest skopiowany żywcem z mojej klasy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - dozwolone od lat 18 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
  1. <?php
  2.  
  3.   function unreads()
  4.   {
  5.     $zapytanie = &#092;"SELECT user_last_visit FROM \".$this -> prefix.\"user WHERE user_id='\".$this -> USR_id.\"'\";
  6.     $wykonaj=mysql_query($zapytanie);
  7.     $dane=mysql_fetch_array($wykonaj);
  8.     $zapytanie = &#092;"SELECT comment_id,comment_type FROM \".$this -> prefix.\"comments WHERE comment_data>'\".$dane['user_last_visit'].\"'\";
  9.     $wykonaj=mysql_query($zapytanie);
  10.     while($dane=mysql_fetch_array($wykonaj))
  11.     {
  12.        mysql_query(&#092;"INSERT INTO \".$this -> prefix.\"unread SET user_id='\".$this -> USR_id.\"',  id='\".$dane['comment_id'].\"'\");
  13.     }
  14.   }
  15.  
  16. ?>

$this -> USR_id = twój id
$this -> prfix = prefix do bazy
I tłumaczenie... najpierw pobieram date ostatniej wizyty. Później komentarze które zostały dodane po mojej ostatniej wizycie wrzucam do tabelki unread.

I teraz mam swobode. Ponieważ baza nie jest zaśmiecana informacjami o userach którzy nie odwiedzają strony (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Tyle

Ten post edytował SHiP 14.09.2004, 15:02:06
Go to the top of the page
+Quote Post
yavaho
post
Post #32





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Cytat(SHiP @ 2004-09-14 15:43:49)
I tłumaczenie... najpierw pobieram date ostatniej wizyty. Później komentarze które zostały dodane po mojej ostatniej wizycie wrzucam do tabelki unread.

SHiP wytlumacz mi jeszcze raz to tlumaczenie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
"...po mojej ostatniej wizycie..." czyli gdzie? Wizycie na glownej stronie forum? Czy wizycie na konkretnym wątku i przeczytanie w nim wiadomosci?
Go to the top of the page
+Quote Post
SHiP
post
Post #33





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


To jest data sotatniej wizyty na byle której podstronie forum. Po prostu zawsze wykonuje zapytanie.
  1. <?php
  2.  
  3. mysql_query(&#092;"UPDATE \".$this ->prefix.\"user SET user_last_visit='\".time().\"' WHERE user_id='\".$this -> USR_id.\"'\");
  4.  
  5. ?>


Po prosty spradzam czy podczaj mojej nieobecności doszły jakieś posty(w moim przypadku komentarze) na strone. Jeśli tak to je zapisuje to do bazy. Coś jeszcze wytłumaczyc?? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
yavaho
post
Post #34





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Aaa teraz rozumiem. Wyswietlasz poprostu nowe wiadomosci tak jak jest tu na forum [Pokaz nowe posty]
Myslalem ze masz jakis pomysl jak wyswietlic watki, ktorych sie jeszcze nie otwieralo lub watki w ktorych doszly nowe posty od ostatniego otwarcia tego watka. To nad czym pracuje KRCreater a mnie tez to interesuje.
Bo sama wizyta na forum nie oznacza ze sie przeczytalo wszystkie nowe posty.
Go to the top of the page
+Quote Post
KRCreater
post
Post #35





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


kurde mam problem z takim szczegółem ;/

  1. <?php
  2.  
  3. $z_10 = &#092;"SELECT * FROM forum_nowe_posty WHERE user_id='\".$_SESSION['id'].\"' AND id_topicu='\".$topic['id'].\"' \";
  4. $w_10 = mysql_query($z_10);
  5. $new_post = mysql_num_rows($w_10);
  6.  
  7. echo(&#092;"ID NEW POST: \".$new_post.\"\");
  8. if($new_post == 0){
  9. $z_2 = &#092;"INSERT INTO forum_nowe_posty SET user_id='\".$_SESSION['id'].\"',id_dzialu='\".$_GET['dzial'].\"',id_topicu='\".$_GET['topic'].\"',data='\".$data.\"',godz='\".$godz.\"' \";
  10. $w_2 = mysql_query($z_2);
  11. } else {
  12. $z_2 = &#092;"UPDATE forum_nowe_posty SET data='\".$data.\"',godz='\".$godz.\"' WHERE user_id='\".$_SESSION['id'].\"' AND id_dzialu='\".$_GET['dzial'].\"' AND id_topicu='\".$topic['id'].\"' \";
  13. $w_2 = mysql_query($z_2);
  14. }
  15.  
  16. ?>


Ogólnie chodzi o to że jak w tabeli forum_nowe_posty nie ma wiersza z informacją że dany czytał dany topic to robię INSERT INTO i dodaję wiersz a jak widział to robie UPDATE i update'uje datę i godzinę jednak nieważne czy jest czy nie ma tego wiersza to i tak cały czas robi się INSERT INTO (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Dlaczego? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
SHiP
post
Post #36





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Nie zrozumiałeś mnie
Teraz przy wyświetlaniu np listy topiców. Sprawdzam czy jest id tego topica w tabeli unread jeśli tak to daje inną grafikę.. Później podczas wyświetlania topica tworze zapytanie które usuwa informacje o tym topicu... Teraz rozumiesz?? :]

Jeżeli nie to ci napisze cały skrypt (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Moze wtedy...

Ten post edytował SHiP 15.09.2004, 15:58:28
Go to the top of the page
+Quote Post
yavaho
post
Post #37





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Chyba zaczynam rozumiec (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Tylko czy tabela unread nie rozrosnie sie nadmiernie? Gdyby kazdy uzytkownik czytal wszystkie watki wtedy ilosc wierszy w tabeli bedzie iloczynem uzytkownikow i watkow.
Go to the top of the page
+Quote Post
KRCreater
post
Post #38





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


ja bym usuwał z tej tabeli starsze wpisy niż tydzień może dwa
Go to the top of the page
+Quote Post
SHiP
post
Post #39





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Heh nie ma tak dobrze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) nowe wpisy są dodawane wtedy gdy użytkownicy odwiedzą stronę. Jeśli ktoś nie wchodzi przez rok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to baza nie jest zaśmiecana informacjami o tym że nie czytał tych wątków. Po za tym jest opcja "oznacz wszytkie jako przeczytane".

Cytat
Gdyby kazdy uzytkownik czytal wszystkie watki wtedy ilosc wierszy w tabeli bedzie iloczynem uzytkownikow i watkow.

Jest na odwrót do bazy sa zapisywane te watki które nie sa przeczytane...

Cytat
ja bym usuwał z tej tabeli starsze wpisy niż tydzień może dwa

Pomysl dobry ale tydzień/dwa to za mało...
Go to the top of the page
+Quote Post
yavaho
post
Post #40





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Cytat(SHiP @ 2004-09-16 15:04:37)
do bazy sa zapisywane te watki które nie sa przeczytane...
Dobry pomysl. Teraz chyba doloze sobie taki modol do mojego forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Z bazy mozna by usuwac automatycznie (a raczej trzeba) te pozycje, ktore sa powiazane z userami, ktorzy sie wypisuja z "klubu" lub z watkami, ktore zostana skasowane.
Go to the top of the page
+Quote Post
KRCreater
post
Post #41





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


wracam do tego tematu - swoje forum juz dość rozwinąłem , a deser zostawiłem na koniec - czyli wyświetlanie nowych postów ...
Jak miała by wyglądać ta tabela w mysql'u?



ja robię tak:

  1. <?php
  2.  
  3.    $z44 = &#092;"SELECT * FROM user_list\";
  4.    $w44 = mysql_query($z44);
  5.  
  6.    while($t44 = mysql_fetch_array($w44)){
  7.  
  8.     $z03 =  &#092;"SELECT * FROM new_post WHERE id_usera='\".$t44['id'].\"' AND id_topicu='\".$_POST['id_topic'].\"' \";
  9.     $w03 = mysql_query($z03);
  10.     $new_id = mysql_num_rows($w03);
  11.  
  12.     echo (&#092;"\".$new_id.\" | id=\".$t44['id'].\" | id_topic=\".$_POST['id_topic'].\"<br>\");
  13.  
  14.     if(($t44['id'] != $_SESSION['id']) && ($new_id == 0)){
  15.     $z_new_post =&#092;"INSERT INTO new_post SET id_usera='\".$t44['id'].\"', id_topicu='\".$_POST['id_topic'].\"' \";
  16.     $w_new_post = mysql_query($z_new_post);
  17.     }
  18.  
  19.    }
  20.  
  21. ?>


Ale zastanawiam się nad robienie na odwrót, ponieważ teraz jak ktoś przeczyta post'a to usunie się z bazy zapis, że ktoś go czytał. Jednak mniej miejsca chyba zajmie jak będe zapisywał to że ktoś przeczytał.

ale z drugiej strony jak zrobie opcje "odznacz wszystkie jako przeczytane" to będę musiał zapisać wszystkie topici, a wygodniej było by je usunąć...


***

Mam kolejny pomysł co to post_tracker'a . Mianowicie można dodać do tabeli z topicami (u mnie forum_topic) pole ost_data_odp oraz czek_new_post i porównać ost_data_odp z aktualną datą jeśli jest np. różnica większa niż 2 tygodnie wtedy ustawić w czek_new_post jako przeczytane (np. value=1) i wtedy opróżnić tabele post_tracker (u mnie new_post) a jak pojawi się wypowiedź nowsza wtedy uaktualnić tabele post_tracker.
Go to the top of the page
+Quote Post
scanner
post
Post #42





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




1. Przy każdym wyświetleniu strony dodajesz do pewnej tablicy ID wszystkich nieprzeczytanych postów.
2. Serializujesz tablice w ciastku u odwiedzajacego.
3. Przy wyswietleniu jakiegos watku/posta usuwasz odpowiednie ID z tablicy i nadpisujesz ciastko.
4. "Zaznacz wszystkie jako przeczytane" czysci tablice.

Przy pierwszym wejsciu na stronę user dostanie WSZYSTKIE istniejace posty na stronie, co sie zgadza, bo nic jeszcze nie przeczytał.

Nice&Softly.
Go to the top of the page
+Quote Post
KRCreater
post
Post #43





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


tylko cholera tak jak ktoś powiedział w tym topicu, że tabela new_post będzie zawierała iloczyn topiców i userów ;/ a to będzie dużo zajmowało...szkoda (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Jeszcze mam jeden pomysł , aby nowe posty to były tylko ostatnie 20 ich...bo po co ma być zaśmiecana baza wszystkimi. A oczywiście 20 z każdego działu

Ten post edytował KRCreater 4.10.2004, 19:59:24
Go to the top of the page
+Quote Post
yavaho
post
Post #44





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Cytat(KRCreater @ 2004-10-04 20:39:04)
Jeszcze mam jeden pomysł , aby nowe posty to były tylko ostatnie 20 ich...bo po co ma być zaśmiecana baza wszystkimi. A oczywiście 20 z każdego działu

Masz na mysli posty? czy topiki?
Ja myslalem zrobic tabele w ktorej powiaze tylko userow z danymi topicami (zadnych informacji o postach bym nie zapisywal - za duzo by tego bylo!).
I wtedy jezeli w bazie danych zapiszesz date odwiedzenia danego topicu to przy ponownym wejsciu usera na strone bedzie wiadome ktore posty nie przeczytal w danym topicu - te z pozniejsza data.
Zakladajac oczywiscie ze gdy user otwiera dany topic, to w tym momencie wszystkie posty ktore tam sa beda oznaczone jako przeczytane.
Go to the top of the page
+Quote Post
Denver
post
Post #45





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

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


http://gizycko.one.pl/ - moje forum.

Pisałem je długo, w sumie (z długimi przerwami) będzie już ponad rok. Po drodze pojawiało się mnóstwo problemów, ale dzięki nim lepiej poznałem php i MySQL. Pozdrawiam i życzę pomyślności w dobrnięciu do celu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
scanner
post
Post #46





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(KRCreater @ 2004-10-04 20:39:04)
tylko cholera tak jak ktoś powiedział w tym topicu, że tabela new_post będzie zawierała iloczyn topiców i userów ;/ a to będzie dużo zajmowało...szkoda (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Jeszcze mam jeden pomysł , aby nowe posty to były tylko ostatnie 20 ich...bo po co ma być zaśmiecana baza wszystkimi. A oczywiście 20 z każdego działu

A kto mówi o iloczynie "user * nowe_posty" ?
Czy trzeba dac gotowca, żeby wyjaśnić prosty algorytm?

  1. <?php
  2. // Zaczynamy !!!
  3. // User oczywiscie jest zalogowany
  4.  
  5. $aNewPosts = readNew(); // Odczytuje ID wszystkich postó dodanych PO ostatniej wizycie usera
  6.  
  7. {
  8. $aUnreaded = array_merge( array_values( $_COOKIE['Unreaded'] ), array_values( $aNewPosts ) );
  9. }
  10.  
  11. // I teraz mamy listę wszystkich postów których user nie przeczytał.
  12. // Wyświetlając jakiś wątek po prostu usuwamy odpowiednie wartości z tabeli
  13. // bo przecież mamy ID kazdefo wyświetlanego posta
  14.  
  15. // \"Zaznacz wszystkie / bieżące forum jako przeczytane\" to też usunięcie
  16. // całej tablicy lub odpowiednich wartości.
  17.  
  18. /**
  19. * Uwaga !
  20. */
  21. setcookie( 'Unreaded', $aUnreaded, ... );
  22. /**
  23. * To wywołujemy PO wyświetleniu wszystkich postów
  24. * Co dla osoby uzywającej szablomów lub funckji serii ob_*();
  25. * NIe powinno byc problemem
  26. */
  27. ?>


Jednym słowem:
1. Czytamy cookie usera
2. Modyfikujemy tablice dodajac i czyszcząc odpowiednie wartości
3. Wyświetlamy stronę dodatkowo modyfikując tabelę
4. Zapisujemy cookie
5. TheEnd

Ja widac na załączonym obrazku, każdy user ma właśna tablicę.
Aby zapewnic "pezenościopść usera, możemy jego $_COOKIE['Unreaded'] serializować w bazie w tabeli zaraz przy jego profilu i jesli nie ma ciastka, to patrzeć, czy taka serializacja jest. Jeśłi nie ma ani tego, ani tego, to mamy po porostu nowego usera.

Jeśli okaże się, że ilość danych w ciastku przekroczy magioczne 4 kilobajty, $Unreaded zapisujemy tylko w bazie.

Jeszcze jakieś pytania?
Go to the top of the page
+Quote Post
KRCreater
post
Post #47





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


A jeśli ktoś ma wyłączone ciastka ? Na ciastkach mógł bym to zrobić ale ja zrobiłem post_tracer'a , który będzie sporo zajmował ale za przyjemność trzeba płacić.
Go to the top of the page
+Quote Post
scanner
post
Post #48





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No pozostajesz przy samej bazie. Ale nie zaznaczasz tego co kto przeczytal, tylko czego nie przeczytał według tego, co powiedziałem wyżej.

Każdy user ma pole TEXT przy swoim profilu, gdzie pchasz zserializowana tablicę ID nieprzeczytanych.
Go to the top of the page
+Quote Post
misterLu
post
Post #49





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.08.2004

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


Problem można rozwiąząc beż użycia cookies, bez tabel z przeczytanymi/nieprzeczytanymi postami.

Wystarczy w tabeli z użytkownikami dodać 1 kolumnę: data_ostatniego_logowania (najlepiej timestamp) i przy każdym poście/temacie dodać (o ile nie ma)kolumnę data_dodania. i w tej chwili wszystko już mamy, nie potrzeba nam żadnych COOKIES, dodatkowych tablic, ani nic.

Aby uzyskać nieprzeczytane posty wystarczy wybrać z bazy te, które mają świeższą datę od daty ostatniego_logowania usera wchodzącego na stronę.
Go to the top of the page
+Quote Post
yavaho
post
Post #50





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Data ostatniego logowania nie gwarantuje ze uzytkownik wogule coś czytał, a zawlaszcza ze przeczytal wszystkie posty - bo chyba tylko tak by to dzialalo.
Go to the top of the page
+Quote Post
misterLu
post
Post #51





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 27.08.2004

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


racja! ja proponowałem rozwązanie "Zobacz posty od ostatniej wizyty". Tak to jest rozwiązane w phpBB
Go to the top of the page
+Quote Post
scanner
post
Post #52





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




I jest to bardzo ułomne.
Moje rozwiązanie stwarza pewna nadmiarowość danych jednak zapewnie w 100%, że jeśli użytkownik czegoś nie cztał, to zawsze to będzie miał oznaczone jako nieczytane, chyba, ze świadomą akcją spodowuje "odznaczenie".
Go to the top of the page
+Quote Post
Vengeance
post
Post #53





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Cytat(misterLu @ 2004-10-05 18:50:45)
Problem można rozwiąząc beż użycia cookies, bez tabel z przeczytanymi/nieprzeczytanymi postami.

Wystarczy w tabeli z użytkownikami dodać 1 kolumnę: data_ostatniego_logowania (najlepiej timestamp) i przy każdym poście/temacie dodać (o ile nie ma)kolumnę data_dodania. i w tej chwili wszystko już mamy, nie potrzeba nam żadnych COOKIES, dodatkowych tablic, ani nic.

Aby uzyskać nieprzeczytane posty wystarczy wybrać z bazy te, które mają świeższą datę od daty ostatniego_logowania usera wchodzącego na stronę.

pisząc swoje forum tak to na początku rozwiązałem.

minusy:
Gdy user sam napisze posta, pokazuje mu ze go nie czytal.
W zaleznosci od tego kiedy ustawiasz date osattniego logowania
moga wyniknac rozne anomalie ;]
Go to the top of the page
+Quote Post
KRCreater
post
Post #54





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Moje forum mieści się w jednym pliku index.php to dobrze czy źle (nic nie includuje poza konfiguracją)

Czy stało by się bardziej wydajne jeśli podzielił bym skrypt na części np. ODPOWIEDZ / NOWY TEMAT / USUN POST / ZAMKNIJ POST cte. (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?\

***

Forum skończyłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )))))))))
Teraz je upiększam :]
Jak skończę moją stronę to wam pokażę moje dzieło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ale odpowiedzcie mi na pytanie powyżej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam

***

aktualnie pracuję nad tym:

Cytat
Jeszcze mam jeden pomysł , aby nowe topic'i to były tylko ostatnie 20 ich...bo po co ma być zaśmiecana baza wszystkimi. A oczywiście 20 albo 10 z każdego działu. Jeszcze nie wiem ile wybrać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


Ten post edytował KRCreater 6.10.2004, 01:42:03
Go to the top of the page
+Quote Post
scanner
post
Post #55





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Napisałeś forum dyskusyjne na jednym pliku?
To ja powiem tak:

Cholernie źle.
- Polecam za pół roku wprowadzić do niego modyfikację.
- nie masz skór
- nie masz wersji językowych
- masz bałagan.

Czy kod będzie do wglądu?
Go to the top of the page
+Quote Post
KRCreater
post
Post #56





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2004
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Nie potrzebuje wersji językowych, a skórę dostosowałem do mojej strony.
Tylko dopracuje forum i pokaże wam skrypt.

***
Oto jak rozwiązałem funkcję która będzie mi pokazywać tylko 10 nowych wiadomości, a resztę wpisów usunię z bazy (może to zagmatwane, ale kod wszystko wyjaśni):
  1. <?php
  2.  
  3. $z= &#092;"SELECT * FROM forum_dzialy\";
  4. $w= mysql_query($z);
  5. while($t = mysql_fetch_array($w)){
  6.  
  7.  
  8.  
  9.   $z1 = &#092;"SELECT * FROM forum_topic WHERE id_dzialu='\".$t['id'].\"' ORDER BY id_ost_odp DESC\";
  10.   $w1 = mysql_query($z1);
  11.   while($t1 = mysql_fetch_array($w1)){
  12.  
  13.     if($i > 9){
  14.  
  15.     $z2 = &#092;"DELETE FROM new_post WHERE id_topicu='\".$t1['id'].\"' \";
  16.     $w2 = mysql_query($z2);
  17.  
  18.     }
  19.     $i++;
  20.  
  21.   }
  22.  
  23. }
  24.  
  25. ?>


Działa elegancko!!!

Ten post edytował KRCreater 8.10.2004, 23:52:36
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 25.12.2025 - 06:08