phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Wyświetlanie wyników nie mających wartości
Autor Wiadomość
Dartam


Pomógł: 2 razy
Posty: 185
Wysłany: 29-03-2013, 23:34   Wyświetlanie wyników nie mających wartości

Witam,
mam problem z sporządzeniem zapytania SQL. Obecnie mam takie coś:

Kod:
SELECT YEAR(FROM_UNIXTIME(post_time)) as aar, MONTH(FROM_UNIXTIME(post_time)) as mnd, COUNT(*) AS ant
   FROM phpbb_posts
    WHERE poster_id = '2'
    GROUP BY YEAR(FROM_UNIXTIME(post_time)), MONTH(FROM_UNIXTIME(post_time))
    ORDER BY post_time


Zapytanie to wyświetla ilość postów użytkownika o id=2 napisanych w danym miesiącu i roku. Jednak nie wyświetla wyników, gdy w danym miesiącu użytkownik nie napisał w ogóle żadnych postów. Mógłby mi ktoś pomóc, jak przerobić to zapytanie żeby wyświetlało również właśnie gdy nie ma żadnych wiadomości w miesiącu (ant==0)? :(
 
     
Gadatliwa Kasia 

   
Tommekk80



Pomógł: 1411 razy
Posty: 4780
Wysłany: 30-03-2013, 09:06   

Zobacz sobie jak to jest tu - http://przemo.org/phpBB2/...ic.php?t=143340
 
     
Dartam


Pomógł: 2 razy
Posty: 185
Wysłany: 30-03-2013, 10:22   

Tommekk80, identycznie. Kod jest właśnie stąd. :mrgreen:
 
     
Tommekk80



Pomógł: 1411 razy
Posty: 4780
Wysłany: 30-03-2013, 10:44   

Na screenie widać, że wyświetla '0'.
 
     
Dartam


Pomógł: 2 razy
Posty: 185
Wysłany: 30-03-2013, 10:58   

Tommekk80, ale to nie jest powodem zapytania. Tylko po prostu generuje cały rok, gdy któryś z miesięcy ma >0 postów. I problemem jest właśnie, że nie wyświetla lat, w których nie ma w ogóle napisanych postów (w żadnym z miesięcy).
 
     
MQs

Pomógł: 172 razy
Posty: 480
Wysłany: 30-03-2013, 20:30   

Próbujesz wyświetlić coś czego nie ma w bazie, bo nie istnieje nie tylko liczba postów z tego okresu, ale także sam okres.

Najprościej dopełniać takie dane przez skrypt, ale jeśli upierasz się przy zapytaniu to musisz chyba kombinować z dodatkową tabelą poszczególnych miesięcy i lat, następnie dołączać do niej ilość postów przez LEFT JOIN, a wyniki NULL zamienić na 0 przez COALESCE(COUNT(p.*), 0).
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,1 sekundy. Zapytań do SQL: 12
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę