Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak najlepiej uzyskać ilośc odpowiedzi do tematu ?
Forum PHP.pl > Forum > Przedszkole
grattz
Napisałem sobie skromne forum. Chce żeby przy tematach wyświetlała sie ilość odpowiedzi na dany temat.
Jak to zrobić ?

Myślałem nad tym aby jakaś funkcją wywołać/zliczyć wszystkie odpowiedzi do wątku ale na moj rozum to strasznie obciąży SQL.

Drugi pomysł to przy dodawaniu odpowiedzi dodanie do zmiennej np.$odp+1.Ale tu jest jeszcze większy problem bo co jeśli osoba która wywoła skrypt będzie tak długo pisać ze w tym samym czasie będzie juz 10 odpowiedzi i zamiast do bazy dodać 11 (10+1) to doda 1 (0+1) kasując dodawanie poprzednich 10ciu.

Proszę o jakieś sugestię.
windman
Cytat(grattz @ 19.02.2008, 21:03:16 ) *
<BR>Myślałem nad tym aby jakaś funkcją wywołać/zliczyć wszystkie odpowiedzi do wątku ale na moj rozum to strasznie <B>obciąży SQL</B>.<BR>


Tematy pewnie trzymasz w jednej tabeli a odpowiedzi w drugiej.
Wyswietlajac tematy wysylasz zapytanie do tabeli z odpowiedziami i sprawdzasz ile jest odpowiedzi do tematu o id=id_tematu
raczej tak się to robi

Cytat(grattz @ 19.02.2008, 21:03:16 ) *
<BR>Drugi pomysł to przy dodawaniu odpowiedzi dodanie do zmiennej np.<U><I>$odp</I></U>+1.Ale tu jest jeszcze większy problem bo co jeśli osoba która wywoła skrypt będzie tak długo pisać ze w tym samym czasie będzie juz 10 odpowiedzi i zamiast do bazy dodać 11 (10+1) to doda 1 (0+1) <B>kasując dodawanie poprzednich 10ciu</B>.<BR>


Z tym też nie ma problemu, nie wysyłasz do bazy&nbsp; SET licznik='$licznik' tylko SET set 'licznik' = 'licznik' + 1

powinno działać
grattz
Dzięki.
Wybrałem tą drugą opcję. Działa znakomicie. U mnie to wygląda tak.( Z racji nietypowości mojego forum tematy i odpowiedzi mam w jednej bazie a $id tyczy sie tutaj głownego tematu)
Kod
mysql_query("UPDATE baza SET odp=opd+1 WHERE id=(\"$id\")");


Ta opcja jest na pewno bardziej oszczędna. Dzięki guitar.gif
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.