Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem w wczytaniem daty przez SELECT
damianprz
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 26.08.2009
Skąd: Zamojsce

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


Chcę SELECTEM wyszukać rekord (z datą dzisiejszą lub jakąś wpisaną do formularza) w tabeli data (id, data, tak_nie) żeby odczytać czy ten rekord ma w polu tak_nie wartość tak lub nie, ale mniejsza z tym.

  1. $zapytanko = "SELECT * FROM data WHERE data = ".$_POST['data']."";
  2. $rezultat=mysql_query($zapytanko);
  3. $wiersz=mysql_fetch_array($rezultat);
  4. echo "<BR>data z formularza: ".$wiersz['data']." ok";
  5. echo "<BR>id z formularza: ".$wiersz['id']." ok";


próbowałem też zamiast data wpisywać data2 (to są nazwy inputów z formularza, patrz poniżej)
  1. $zapytanko = "SELECT * FROM data WHERE data = ".date('Y-m-d')

i nie wczytuje mi tego rekordu

W formularzu zapodaję:
  1. $time1 = date("Y-m-d");
  2.  
  3. <form action='data_2.php' method='POST'>
  4. <input type='datetime' name='data' value='2009-08-19'>
  5. <input type='datetime' name='data2' value='$time1'>
  6. <INPUT class='button' type=submit value='data' style='font-family: Verdana; font-size: 10pt; font-weight: bold'>
  7. </form>


Ale gdy zapytam:
  1. $zapytanko = "SELECT * FROM data WHERE data = '2009-08-19'"

to wczyta rekord

A takie echo
  1. $time1 = date("Y-m-d");
  2. echo $time1;

wyświetli mi 2009-09-03 czyli dobry format daty, taki jest w bazie danych

Ten post edytował batman 5.09.2009, 13:43:50
Powód edycji: przeniosłem i dodałem tagi ~batman
Go to the top of the page
+Quote Post
Fantazyn
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Nie wiem jakiego typu jest zapisana data w Twojej bazie danych, ale może spróbuj wartość daty dać w ciapki np. ' lub "

np.
  1. $zapytanko = 'SELECT * FROM data WHERE data = "'.$_POST['data'].'"';


Edit: W swoim zapytaniu
  1. $zapytanko = "SELECT * FROM data WHERE data = ".$_POST['data']."";
nie doklejasz ciapek do $_POST['data'].

Pozdrawiam.

Ten post edytował Fantazyn 3.09.2009, 14:45:07
Go to the top of the page
+Quote Post
Spawnm
post
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Proszę nadać sensowny tytuł .
Go to the top of the page
+Quote Post
kubek15
post
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

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


Ja miałem raz podobny problem z data i w mysql w tej komórce che ma byc data dałem odpowiedni format czyli data, a miałem varchar(12). Więc zobacz czy ty mas ztam ustawione data a ni np. INT.
(IMG:style_emoticons/default/smile.gif) Pozdro (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fixus
post
Post #5





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


ustaw po prostu pole na typ DATETIME i będzie po sprawie
Go to the top of the page
+Quote Post
maly_swd
post
Post #6





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


Masz blad w skladni
Twoje:
  1. $zapytanko = "SELECT * FROM data WHERE data = ".date('Y-m-d');


Powinno byc:
  1. $zapytanko = "SELECT * FROM data WHERE data = '".date("Y-m-d")."'";
Go to the top of the page
+Quote Post
damianprz
post
Post #7





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 26.08.2009
Skąd: Zamojsce

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


Cytat(Fixus @ 3.09.2009, 19:21:50 ) *
ustaw po prostu pole na typ DATETIME i będzie po sprawie


Zmiana nic nie pomogła, dodała tylko w bazie do każdej daty godzinę 00:00:00

Cytat(maly_swd @ 3.09.2009, 19:24:22 ) *
Masz blad w skladni
Twoje:
  1. $zapytanko = "SELECT * FROM data WHERE data = ".date('Y-m-d');


Powinno byc:
  1. $zapytanko = "SELECT * FROM data WHERE data = '".date("Y-m-d")."'";


$zapytanko = "SELECT * FROM data WHERE data = '".date("Y-m-d")."'"; <---tu może bardziej widoczne
Ta zmiana pomogła.

Wszystkim pomagającym, czytającym ten temat serdecznie dziękuję.

Cytat(Fantazyn @ 3.09.2009, 15:38:00 ) *
Nie wiem jakiego typu jest zapisana data w Twojej bazie danych, ale może spróbuj wartość daty dać w ciapki np. ' lub "

np.
  1. $zapytanko = 'SELECT * FROM data WHERE data = "'.$_POST['data'].'"';


Edit: W swoim zapytaniu
  1. $zapytanko = "SELECT * FROM data WHERE data = ".$_POST['data']."";
nie doklejasz ciapek do $_POST['data'].

Pozdrawiam.


Ta propozycja też zadziałała!
Wielkie dzięki za zainteresowanie i pomoc!!
Go to the top of the page
+Quote Post

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: 24.08.2025 - 21:13