Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Pomoc PHP + SQL zapytanie dziwne zachowanie
adrian512
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


Witam Serdecznie wszystkich.

Czy moze mi ktoś pomoć dlaczego mam następujący problem ?:

Mam zapytanie takie :
  1. query="(SELECT DokMag.Id, HistoriaMag.ce_zn, HistoriaMag.Ilosc, Towary.IdGrupy
  2. FROM DokMag JOIN HistoriaMag ON DokMag.Id = HistoriaMag.IdDokMag
  3. JOIN Towary ON Towary.Id = HistoriaMag.IdTowaru
  4. WHERE (DokMag.Data BETWEEN '$dataod' AND '$datado') )"


zmienne dataod i datado przyjmowane są przez input jako data.

Problem jest taki ze gdy wybiorę sobie zakres dat np cały październik (2014-10-01 do 2014-10-31) to wszystko ładnie działa (z pozostałymi wcześniejszymi mieisacami jest tak samo)
natomiast gdy wybiorę cały listopad lub np grudzień to juz sql nic nie zwraca..

gdy ręcznie wpisze date np( 2014-11-01 dp 2014-11-30) to zwraca

Prosze o pomoc.

Ten post edytował adrian512 6.12.2014, 15:31:25
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Wyechuj sobie to zapytanie a zobaczysz, gdzie problem.
Przenoszę do Przedszkola. Popraw też temat, bo tu każdy przychodzi po pomoc...
Go to the top of the page
+Quote Post
adrian512
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


wyechuj ? podpowiesz jak ?
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


echo $query
Go to the top of the page
+Quote Post
adrian512
post
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


  1. (SELECT DokMag.Id, HistoriaMag.ce_zn, HistoriaMag.Ilosc, Towary.IdGrupy FROM DokMag JOIN HistoriaMag ON DokMag.Id = HistoriaMag.IdDokMag JOIN Towary ON Towary.Id = HistoriaMag.IdTowaru WHERE (DokMag.DATA BETWEEN '2014-11-01' AND '2014-12-06')


takie cos otrzymalem, ktoś pomoże ?
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Albo źle skopiowałeś albo brakuje domknięcia nawiasu na końcu.
btw. sprawdź mysql_errors
Go to the top of the page
+Quote Post
ShaggyAG
post
Post #7





Grupa: Zarejestrowani
Postów: 111
Pomógł: 11
Dołączył: 12.10.2014
Skąd: Tarnów

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


dlaczego to
  1. DokMag.data
zmienie sie w to
  1. DokMag.DATA
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Data jest wyrazem zastrzeżonym przez SQL. Opakuj to w `data`
Go to the top of the page
+Quote Post
adrian512
post
Post #9





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


teraz mam cos takiego :
  1. (SELECT DokMag.Id, HistoriaMag.ce_zn, HistoriaMag.Ilosc, Towary.IdGrupy FROM DokMag JOIN HistoriaMag ON DokMag.Id = HistoriaMag.IdDokMag JOIN Towary ON Towary.Id = HistoriaMag.IdTowaru WHERE ( 'DokMag.Data' BETWEEN '2014-11-01' AND '2014-12-06') )



$wynik1 = mysql_query($query1) or die(mysql_error());

cos takiego jak wyzej nie wyzuca mi bledow
Go to the top of the page
+Quote Post
Turson
post
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


`DokMag`.`Data` a nie 'DokMag.Data'

Wklej to zapytanie w PHPMyAdmin i zobacz efekt

Ten post edytował Turson 6.12.2014, 19:05:46
Go to the top of the page
+Quote Post
adrian512
post
Post #11





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


  1. "(SELECT DokMag.Id, HistoriaMag.ce_zn, HistoriaMag.Ilosc, Towary.IdGrupy
  2. FROM DokMag JOIN HistoriaMag ON DokMag.Id = HistoriaMag.IdDokMag
  3. JOIN Towary ON Towary.Id = HistoriaMag.IdTowaru
  4. WHERE ( 'DokMag'.'Data' BETWEEN '$dataod' AND '$datado') )"


jak tak wpisze to pojawia sie błąd: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.'Data' BETWEEN '2014-11-01' AND '2014-11-29')

Go to the top of the page
+Quote Post
ShaggyAG
post
Post #12





Grupa: Zarejestrowani
Postów: 111
Pomógł: 11
Dołączył: 12.10.2014
Skąd: Tarnów

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


zobacz tak
  1. DokMag.[DATA]
Go to the top of the page
+Quote Post
Turson
post
Post #13





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


masz znowu 'DokMag'.'Data' a przeczytaj co napisalem w poscie #10
Go to the top of the page
+Quote Post
adrian512
post
Post #14





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


  1. (SELECT DokMag.Id, HistoriaMag.ce_zn, HistoriaMag.Ilosc, Towary.IdGrupy FROM DokMag JOIN HistoriaMag ON DokMag.Id = HistoriaMag.IdDokMag JOIN Towary ON Towary.Id = HistoriaMag.IdTowaru WHERE ( `DokMag`.`Data` BETWEEN '2014-11-01' AND '2014-12-06') )


Przepraszam faktycznie zle zauważylem , ale dalej nie działa.. nie wyświetlają się żadne rekordy
Go to the top of the page
+Quote Post
Turson
post
Post #15





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


a w phpmyadmin? Jak nic nie ma to warunek jest zly
Go to the top of the page
+Quote Post
adrian512
post
Post #16





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


a powiedz mi czy wszystko z datą jest dobrze wpisane ?
bo dziwne jest to ze do listopada wszystko dziala a po niestety nie.
chyba ze wpisze recznie datę (nie poprzez zmienna) to chodzi..
Go to the top of the page
+Quote Post
ShaggyAG
post
Post #17





Grupa: Zarejestrowani
Postów: 111
Pomógł: 11
Dołączył: 12.10.2014
Skąd: Tarnów

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


http://www.w3schools.com/sql/sql_between.asp

ostatni przykład...

Dlaczego data jest pomiedzy #?
Nie mogę wygooglac nic na ten temat.
Go to the top of the page
+Quote Post
Turson
post
Post #18





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(adrian512 @ 6.12.2014, 22:56:28 ) *
a powiedz mi czy wszystko z datą jest dobrze wpisane ?
bo dziwne jest to ze do listopada wszystko dziala a po niestety nie.
chyba ze wpisze recznie datę (nie poprzez zmienna) to chodzi..

Jaki masz typ kolumny z datą?
Go to the top of the page
+Quote Post
adrian512
post
Post #19





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.06.2014

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


w phpmyadmin kolumna jest typu Date

Ma ktoś jeszcze jakiś pomysl ?
Go to the top of the page
+Quote Post
Turson
post
Post #20





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Miałeś wkleic to zapytanie w phpmyadmin i sprawdzic rezultat
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 11:42