Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL i PHP] podliczanie
Rico_ds
post 23.03.2007, 18:30:51
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

Ostrzeżenie: (0%)
-----


Witam,
mam kolumnę o nazwie np. k1, w tej kolumnie są wartości np. war1, war, 2, war,3. Te wartości powtarzają się co jakiś czas, jak obliczyć ile razy dane wartości występują? Wiem, że przez count, ale nie wiem dokładnie jak to zrobić. Proszę o pomoc.
Pozdrawiam

Ten post edytował Rico_ds 23.03.2007, 18:32:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Mary$
post 23.03.2007, 19:26:47
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 19.02.2007
Skąd: 3city

Ostrzeżenie: (0%)
-----


to jest Twoje zapytanie:
  1. SELECT count(*) FROM `tabela` WHERE k1 = "war1"

lub
  1. SELECT count(*) FROM `tabela` GROUP BY k1


Swoja drogą poczytaj sobie http://dev.mysql.com/doc/refman/5.0/en/counting-rows.html - drugi wynik w Google...

Ten post edytował Mary$ 23.03.2007, 19:28:22


--------------------
Nie ma rzeczy niemożliwych - są tylko czasochłonne i mało opłacalne.
Go to the top of the page
+Quote Post
Rico_ds
post 27.03.2007, 13:24:28
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

Ostrzeżenie: (0%)
-----


No tak, ale co zrobić w przypadku gdy w te pola różne osoby mogą sobie dopisywać różne wartości
np. użytkownik A wpisał: war 1 i war23, ale w tej tabeli jest tego znacznie więcej i podpisane pod różnych użytkowników. Więc jak napisać kod, aby zostały pokazane tylko te wartości wpisane przez użytkownika A i aby została obliczona ilość ich występowania?
Go to the top of the page
+Quote Post
kossa
post 27.03.2007, 13:30:08
Post #4





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


musisz mieć dodatkową kolumnę z np. id_użytkownika albo dodatkową tabele którą połączysz w zapytaniu joinem, tabela z kolumnami: id_rekordu_z_tabeli_z_wartosciami i kolumna z id_usera

Łukasz


--------------------
Go to the top of the page
+Quote Post
Rico_ds
post 27.03.2007, 20:49:31
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

Ostrzeżenie: (0%)
-----


no jest kolumna client_id w tej samej tabeli. Czyli to będzie tak:
  1. SELECT count(*) FROM `tabela`WHERE client_id=".$user." GROUP BY k1


i jeszcze jedno pytanko o podliczenie. Mam kod
  1. <?php
  2. $gosc['sniadanie']=INC->DB_Result($results3,$i,"sniadanie");
  3.  if ($gosc['sniadanie'] == 1 and $gosc['sniadanie'] == $gosc['nazwa']) echo $gosc['koszt'];
  4.  $gosc['obiad']=INC->DB_Result($results3,$i,"obiad");
  5.  if ($gosc['obiad'] == 1 and $gosc['obiad'] == $gosc['nazwa']) echo $gosc['koszt'];
  6.  $gosc['kolacja']=INC->DB_Result($results3,$i,"kolacja");
  7.  if ($gosc['kolacja'] == 1 and $gosc['kolacja'] == $gosc['nazwa']) echo $gosc['koszt'];
  8. ?>


czy to nie powinno być napisane jakoś na zmiennych, żeby obliczyć koszt całościowy??

Napisałem
  1. <?php
  2. $results = $INC->DB_Query("select COUNT(*) from ".DB_MEL." where client_id='".$user."' GROUP BY pokoj;");
  3. ?>
to pokazuje mi
"Parse error: syntax error, unexpected T_VARIABLE, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mods/klient/admin.php on line 2448."
Gdzie to nie jest powiązane z tym co robie. Przed dodaniem tego zapytania do bazy wszystko działało. O co chodzi??

Ten post edytował Rico_ds 27.03.2007, 14:03:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 14:00