Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php\mysql] liczenie rekordow
Forum PHP.pl > Forum > Przedszkole
lutador
witam

Mam tabele do ktorej uzytkownicy dodaja komentarze. I teraz chcialbym policzyc i wypisac ile kto ma komentarzy pomiedzy dwoma datami (tabela ma pole data_wpisu)

moj skrypt wypisuje ile jest w sumie komentarzy pomiedzy tymi datami, a chcialby napisac jaki uzytkownik ile razy dodawal komentarz


  1. <?php
  2. //$dat1 i $dat2 przychodzi z formularza w postaci rrrr-mm-dd
  3.  
  4. $db_link = polaczenie (); // laczy z baza danych
  5.  
  6.  $raport = "SELECT user_imie
  7.  FROM komentarze
  8.  WHERE BETWEEN '$dat1' AND '$dat2'";
  9.  
  10. $zap = mysql_query($raport, $db_link);
  11.  
  12. $znalezione_rap = mysql_num_rows($zap);
  13.  
  14. echo $znaleziono_rap;
  15. ?>


z gory dzieki za pomoc
Pozdrawiam
babejsza
  1. SELECT user_imie,
  2. (
  3. SELECT SUM(id)
  4. FROM komentarze WHERE DATA BETWEEN '$dat1' AND '$dat2' AND user_imie = '$imie'
  5. ) AS suma_wpisow
  6. FROM komentarze WHERE DATA BETWEEN '$dat1' AND '$dat2'
lutador
dzieki za zapytanie do bazy ale jak teraz wyswietlic wyniki?

Pozdrawiam
babejsza
  1. <?php
  2. $query = mysql_query('
  3. SELECT user_imie, 
  4. (SELECT SUM(id) FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'" AND user_imie = "'.$imie'." ) AS suma_wpisow 
  5. FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'"
  6. )';
  7.  
  8. while ($user = mysql_fetch_array($query))
  9. {
  10. echo $user['user_imie'].' '.$user['suma_wpisow']."n";
  11. }
  12. ?>
lutador
zmienilem troche zapytanie bo chodzilo mi zeby liczyl ile razy ktos sie wpisywal i zeby wypisaywal wszystkich uzytkownikow i ich ilosc postow.

cos takiego
lutador ma 33 posty
ola ma 23 posty
a ten skrypt wypisuje mi 33 razy lutador ma 33 posty :/
Jak to poprawic?

  1. <?php
  2. $query = mysql_query('
  3. SELECT user_imie, 
  4. (SELECT count(id) FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'" ) AS suma_wpisow 
  5. FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'"
  6. )';
  7.  
  8. while ($user = mysql_fetch_array($query))
  9. {
  10. echo $user['user_imie'].' ma '.$user['suma_wpisow'].'posty';
  11. echo 'br';
  12. }
  13. ?>


Pozdrawiam
Darti
  1. <?php
  2. $query = mysql_query('
  3. SELECT DISTINCT(user_imie), 
  4. (SELECT count(id) FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'" ) AS suma_wpisow 
  5. FROM komentarze WHERE data BETWEEN "'.$dat1.'" AND "'.$dat2.'"
  6. )';
  7. ?>
lutador
wielkie dzieki dziala!! biggrin.gif

pozdrawiam

  1. SELECT user_imie,
  2. (
  3. SELECT SUM(id)
  4. FROM komentarze WHERE DATA BETWEEN '$dat1' AND '$dat2' AND user_imie = '$imie'
  5. ) AS suma_wpisow
  6. FROM komentarze WHERE DATA BETWEEN '$dat1' AND '$dat2'


takiego zapytania uzyje jezeli bede chcial policzyc ilosc postow dla 1 usera,
a jezeli bede chcial wyswietlic wszystkich userow i ilosc postow dla kazdego?

pozdrawiam
Darti
  1. SELECT user_imie, SUM(id) FROM komentarze WHERE DATA BETWEEN '$dat1' AND '$dat2' GROUP BY user_imie
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.