[PHP]{MySQL]pomoc w zliczaniu rekordow z bazy


(Piotrswiniarski87) #1

Witam mam taki kłopot, otóż mam takie zapytanie do bazy

'SELECT count(*) from kupony WHERE data_kuponu >= "'.$od.'" AND data_kuponu <= "'.$do.'"'

i tak je przetwarzam

while($a=mysql_fetch_row($wynik)){

echo " $a[0]";

i tu jest teraz problem gdyż te zapytanie mi nie działa, jednak gdy za $od i $do wpiszę datę ręcznie to działa bez zarzutu, a ja nie bardzo wiem gdzie mogę mieć błąd.

mam nadzieje, że mi pomożecie.

P.S

nie chcę już zakładać nowego tematu ale macie jakieś artykuł jak do zmiennych przypisywać wartości pobrane z bazy danych??


(Scofield111) #2

Jak przypisujesz datę do tych zmiennych: $do, $od :?:


(Marcin E Pc) #3

Popatrz na warunek w while. Dajesz że jest równe a nie porównujesz ==

Pozdrawiam


(Anddezr+Dobreprogramy Pl) #4

ptasior chyba coś Ci się pomyliło, z czym niby ma porównywać?

Co do zapytania to nie lepiej zapisać je tak (jeżeli te daty są tekstem a nie liczbą):

" SELECT count(*) from `kupony` WHERE `data_kuponu` >= '{$od}' AND `data_kuponu` <= '{$do}' "

jeżeli liczbą

" SELECT count(*) from `kupony` WHERE `data_kuponu` >= {$od} AND `data_kuponu` <= {$do} "

lepiej wygląda i nie ma łączenia, więc się nie pomylisz.


(ra-v) #5

Spróbuj funkcjami MySQL-owymi porównać http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html i/lub sprawdzić typ pola data_kuponu oraz format daty w PHP i MySQL-u.


(Marcin E Pc) #6

Jak masz możliowość, to wyświetl:

echo " SELECT count(*) from `kupony` WHERE `data_kuponu` >= '{$od}' AND `data_kuponu` <= '{$do}' "; [/code]

I wykonaj to samo przy użyciu w phpMyAdmina lub z wiersza poleceń.

I wyświetl poprostu $od i $do i porównaj z tym jak powinny one wyglądać.

Pozdrawiam