Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem ze zliczeniem rekordów z bazy
bubusek
post 24.08.2011, 19:19:33
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 2.10.2007

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


Witam mam problem z poprawnym zliczeniem rekordów z bazy:

  1. $wynik3 = mysql_query("SELECT count(ile) as ile FROM xif WHERE czas >= '$trwa' AND kraj='Austria' OR kraj='Belgium' ");
  2. $wiersz3 = mysql_fetch_assoc($wynik3);
  3. $ile3 = $wiersz3['ile'];
  4. $nombre_format_francais3 = number_format($ile3, 0, ',', ' ');


Wynik dostaję jakby z pominięciem pierwszego warunku
A chcę by działało to tak ze najpierw z wszyskich rekordów były pominiane rekordy których czas jest mniejszy $trwa a następnie by z tych jakie pozostały zliczone były tylko te które jako kraj maja wpisane Austria i Belgium.

Jakieś sugestie co źle ?

Ten post edytował bubusek 24.08.2011, 19:42:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
CuteOne
post 24.08.2011, 19:41:00
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


jeżeli chcesz, żeby były POMIJANE to czas < '$trwa'
Go to the top of the page
+Quote Post
bubusek
post 24.08.2011, 19:44:17
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 2.10.2007

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


Pomyłka tam była już poprawiłem, miejsze ma pomijać. Ten zapis jest dobry ale w ogóle nie wykonuje mi tego warunku z czasem.

Natomiast jeśli użyję takiego kodu:

  1. $wynik3 = mysql_query("SELECT count(ile) as ile FROM xif WHERE czas >= '$trwa' ");
  2. $wiersz3 = mysql_fetch_assoc($wynik3);
  3. $ile3 = $wiersz3['ile'];
  4. $nombre_format_francais3 = number_format($ile3, 0, ',', ' ');


Wynik daje prawidłowy tak samo jeśli mam kod taki:

  1. $wynik3 = mysql_query("SELECT count(ile) as ile FROM xif WHERE czas >= '$trwa' AND kraj='Austria' ");
  2. $wiersz3 = mysql_fetch_assoc($wynik3);
  3. $ile3 = $wiersz3['ile'];
  4. $nombre_format_francais3 = number_format($ile3, 0, ',', ' ');


ale gdy mam te trzy warunki i połączenie z AND i OR to już nie dostaje takich wyników jak trzeba

Ten post edytował bubusek 24.08.2011, 19:49:45
Go to the top of the page
+Quote Post
CuteOne
post 24.08.2011, 19:47:22
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Napisz mi:
- przykładowy czas z tej kolumny "czas"
- przykładowy czas ze zmiennej $trwa

edit: hmmm a czy COUNT nie musi występować w parze z GROUP BY.. podpisz or die(mysql_error()):
$wynik3 = mysql_query("SELECT count(ile) as ile FROM xif WHERE czas >= '$trwa' AND (kraj='Austria' OR kraj='Belgium')") or die(mysql_error());

edit2: dodaj też nawisy "AND (kraj='Austria' OR kraj='Belgium')"

Ten post edytował CuteOne 24.08.2011, 19:51:09
Go to the top of the page
+Quote Post
bubusek
post 24.08.2011, 19:59:07
Post #5





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 2.10.2007

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


or die(mysql_error()); nie zwraca żadnego błedu.

natomiast () chyba to jest to czego brakowało (wynik wydaje się być już zdecydowanie bliżej prawidłowego) sprawdzę zaraz jeszcze dokładnie czy teraz wszystko gra i dam znać oraz odpowiednio nagrodzę smile.gif
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: 14.08.2025 - 08:25