![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chciałbym zrobić licznik komentarzy który wyświetlał by się obok każdego dodanego tekstu. Czyli
obok każdego tekstu pojawiała by się odpowiednia do danego tekstu. Puki co wygląda to tak (KLIK) Gdzie każde "0" powinno być odpowiednią wartością odpowiadającą liczbie komentarzy danego tekstu. Tak jednak nie jest. Skrypt PHP w pliku "teksty.php" to:
$sql3 = mysql_query("SELECT COUNT(*) as il_komentarzy FROM kom WHERE tek='".$_GET['id']."'"); $row = mysql_fetch_array($sql3); $row['il_komentarzy'] Gdzie część pogrubiona skryptu odpowiada za wyświetlane zera. Baza danych wygląda następująco: Teksty: * katalog * kom - id, imie, tresc, tek (id jest pojedyncze dla jednego komentarza, tek odpowiada przynależności do danego tekstu). * tekst - id, tytul, tekst, kat (id jest pjedyncze dla jednego tekstu i odpowiada wartości tek w komentarzach). Czy ktoś może wie co musze zrobić aby liczba komentarzy była wyświetlana poprawnie? Ten post edytował kimu 25.06.2007, 21:39:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 15.01.2007 Ostrzeżenie: (10%) ![]() ![]() |
Ja wtrącę swoje parę groszy. Otóż takie liczenie komentarzy jest mało wydajne. Wyobraź sobie że na stronie głównej masz 10 newsów i do każdego wykonujesz zapytanie z COUNT'em żeby pokazać ile jest komentarzy. Masz 1 zapytanie + 10 + jeszcze jakieś inne. Nie fajnie, nie wspominając o tym że przy dużeeej ilości komentarzy COUNT nie jest błyskawicą (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Zdecydowanie lepszym rozwiązaniem jest trzymanie w kolumnie z newsami czy czymś innym ilości komentarzy. Przy dodaniu i usuwaniu komentarza zrobić UPDATE, żeby licznik się zgadzał i gra gitara (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Zgadzam sie w 100% ze strzalkiem. Jesli masz mysql 5 to latwym rozwiazaniem jest ustawienie triggera ktory bedzie inkrementowal warotsc danego pola przy kazym insercie
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 5 Dołączył: 18.07.2006 Skąd: Piekary Śląskie Ostrzeżenie: (0%) ![]() ![]() |
Zgadzam sie w 100% ze strzalkiem. Jesli masz mysql 5 to latwym rozwiazaniem jest ustawienie triggera ktory bedzie inkrementowal warotsc danego pola przy kazym insercie Tylko jeszcze znajdź hosting, na którym admin da ci uprawnienia do tworzenia triggerów. Mam nadzieję, że zrobią tak, żeby do ich tworzenia nie trzeba było być superuserem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 15.01.2007 Ostrzeżenie: (10%) ![]() ![]() |
Tylko jeszcze znajdź hosting, na którym admin da ci uprawnienia do tworzenia triggerów. Mam nadzieję, że zrobią tak, żeby do ich tworzenia nie trzeba było być superuserem. No masz racje z mysql 5 z triggerami w polsce sie jeszcze nie spotkalem, jednak mialem okazje pracowac na hostach z niemiec, ktore udostepnialy ten "ficzer":) Tak to juz jest z MySQL'em. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 11:45 |