![]() |
![]() |
![]()
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: Zablokowani Postów: 120 Pomógł: 2 Dołączył: 4.11.2004 Ostrzeżenie: (10%) ![]() ![]() |
A próbowałeś to samo zapytanie, tzn.
przetestować w np. w PhpMyAdminie? Jest to poza tym raczej mało skomplikowane zapytanie. Czemu wobec tego nie napisać po prostu:
Tylko zaraz kombinować?? Pozdrawiam, |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Teraz wygląda to tak:
I dalej pojawiają się zera. Moze problem tkwi w "tek" i "id" komentarzy i tekstów ? Ten post edytował kimu 26.06.2007, 09:58:22 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 113 Pomógł: 5 Dołączył: 12.09.2006 Skąd: Pruszków/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
U mnie zliczanie komentarzy wyglada nastepuajco:
Po prostu pobieram juz komentarze zawczasu i sa one w tablicy, ktora szybko moge odczytac, a zliczanie ilosci tych komentarzy tym samym jest po prostu zliczaniem ilosci wierszy w tabeli. Nie jest to moze do konca efektywne rozwiazanie, ale dziala calkiem sprawnie - zycie nauczylo, ze operowanie na funkcjach MySQLa z definicji mi nie wychodzi, ale ja w koncu lama jestem ![]() Ten post edytował chlebik 26.06.2007, 10:24:00 -------------------- "Człowiek dążący do swego celu może być skuteczny tylko w przypadku, jeśli każdą minutę swego życia wykorzysta z maksymalną korzyścią dla osiągnięcia zaplanowanego celu. Jeśli stworzył dla siebie system kar i karze sam siebie za każdą zmarnowaną minutę. Człowiekowi w zupełności wystarczą 3-4 godziny snu, cały pozostały czas może być wykorzystany dla osiągnięcia upragnionego celu." -- Wiktor Suworow
Java devBlog KulturalnyChlebik |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
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ą ![]() Przy dodaniu i usuwaniu komentarza zrobić UPDATE, żeby licznik się zgadzał i gra gitara ![]() -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Teraz zrobiłem w ten sposób i dalej pokazują się zera :/
Ten post edytował kimu 26.06.2007, 14:32:07 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 229 Pomógł: 0 Dołączył: 29.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
weź napisz dokładnie jak wygląda struktura twojej bazy
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jakbyś mógł odezwać się do mnie na gg (3164888) to podam ci dane do bazy i zobaczysz dokładnie jak ona wygląda ;-).
Problem już rozwiązałem. Dodałem nową kolumne w komentarzach liczącą ich liczbę. Teraz natomiast mam inne pytanie. Jakim skryptem moge obliczyć ilośc znaków znajduących się w danym wierszu np tabeli "tekst" ? |
|
|
![]()
Post
#9
|
|
![]() 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ą ![]() Przy dodaniu i usuwaniu komentarza zrobić UPDATE, żeby licznik się zgadzał i gra gitara ![]() 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
#10
|
|
![]() 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. -------------------- CMS dla Twojej firmy
Wojciech Małota |
|
|
![]()
Post
#11
|
|
![]() 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. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 25.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
A czy ktoś moze zna odpowiedź na moje wcześniejsze pytanie ?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 1 Dołączył: 6.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zastosuj funkcję CHAR_LENGTH
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:13 |