![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 8.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Mam maly problem przy swoich statystykach newsowych. chce, zeby pokazywalo ile kazdy user ma newsow. udalo mi sie stworzyc cos takiego:
to mi wypisuje liste userow, ale w miejscu gdzie ma byc liczba newsow zawsze jest 1. jak ktos moze niech pomoze, bo mi jakos nic nie przychodzi do glowy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.08.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Twój błąd polega na tym że dokonałeś dwukrotnego podliczenia odpowiedzi z MySQL.
1. Poprzez użycie zapytania "SELECT COUNT(*) FROM news WHERE autor='".$wiersz['user']." które w MySQL zwraca wynik w postaci jednego wiersza (rekordu) z liczbą postów od tego użytkownika. 2. Poprzez użycie funkicji mysql_num_rows($newsow); dokonałeś podliczenia wszystkich wyników (wierszy - rekordów) zwróconych przez MySQL, dlatego logicze jest że otrzymałeś "1", ponieważ - patrz punkt 1. Proponuję wykonać to w ten sposób:
Zmiany objęły zapytanie w 9 lini kodu, usunąłem funkcję COUNT... Ten post edytował Bartech 23.06.2004, 18:00:24 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 8.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
hmmm, chyba nie w tym problem bo teraz mi wyswietla wsedzie zero :/ ma ktos jakis inny pomysl na rozwiazanie tego problemu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
batat: O rany! Wyobrażasz sobie jak długo wykonywałby się Twój kod gdybyś miał tylu użytkowników co ma to forum? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Zastanów się nad użyciem takiej konstrukcji:
Przeanalizuj wyniki jakie daje to zapytanie i zmień swój kod, bo jest maksymalnie nieoptymalny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Jojo 23.06.2004, 19:28:54 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 29.08.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
JOJO, świetna sugestia, wyniki tego zapytania, wsadzone w petle WHILE dadzą kompletny wypis użytkowników i ilości ich postów/newsów...
BATAT jojo ma rację... :roll2: |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 8.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
moze ma racje, ale ja z tego nie potrafie nic wyciagnac. po pierwsz to pierwszy raz spotkalem sie z funkcja GROUP BY, po drugie to nie umiem zastosowac tych wskazowek JOJO a po trzecie moj kod jest chyba dobry ( nie bedzie chodzil dlugo bo w newsach bedzie tylko kilku userow ), tylko nie pobiera roznej liczby newsow userow , tzn. wyswietla ilosc newsow dla 1 usera i potem powtarza. jak w warunku WHERE wpisze zamiast ".$wiersz['user']." np. ZIOMEK to wyswietla mi ile newsow ma ziomek, ale ja chce zeby to bylo zautomatyzowane, nie chce tego robic recznie...a jezeli uwazacie ze kod jojo jest lepszy to prosilbym o wiekszy fragment kodu. moze jestem glupi i uciazliwy, ale mnie cos juz trafia z tymi statystykami (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ... help ...
Ten post edytował batat 23.06.2004, 21:36:27 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 1 Dołączył: 19.09.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Wykonaj sobie taki kod:
i zobacz co się wyświetli. Myślę, że to powinno rozwiać Twoje wątpliwości. PS. Powyższy kod pisałem z głowy, więc mogą być jakieś niedociągnięcia. Ten post edytował Jojo 23.06.2004, 21:52:44 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 8.03.2004 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzieki jojo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) teraz juz wszystko chodzi :] (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:11 |