Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przedział rekordów z mysql
ceo
post 18.06.2004, 20:40:35
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: --

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


w bazie danych mysql mam pole z data i we formularzu mam dwa pola data_zam i data_zam2 , pierwsze okresla przedzial daty od a drugie do .

jak wyciagnac te dane ?
mam tak :

  1. <?php
  2.  
  3. $zapytanie=&#092;"WHERE data_zam>=$_POST[data_zam] AND data_zam<=$_POST[data_zam2]\";
  4.  
  5. ?>


i caly czas pokazuje mi ze nie ma rekordow
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mike
post 18.06.2004, 20:45:45
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Mam nadzieję, że to tylko fragment zapytania winksmiley.jpg
Powinno być:
  1. SELECT cośtam FROM cośtam WHERE cośtam

Napisz jaki masz typ tych pól w bazie gdzie trzymasz czasy. Może masz coś z typami i ci je źle porównuje.
Osobiście polecam trzymać datę jako znacznik czasu Unix'a: łatwo porównywać i zapisywać w różnych formatach za pomocą funkcji date() i innych z tej rodziny.
Go to the top of the page
+Quote Post
ceo
post 18.06.2004, 20:51:47
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: --

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


$zmienna to oczywiscie czesc wlasciwego zapytania biggrin.gif

dane w bazie sa typu date
i w formularzu mozliwe jest wprowadzenie daty tylko w takim formacie jak jest w bazie czyli 0000-00-00
Go to the top of the page
+Quote Post
mike
post 18.06.2004, 21:09:35
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Nie jestem expertem jeżeli chodzi o MySql'a ale możesz spróbować tak:
  1. <?php
  2. $zapytanie=&#092;"WHERE data_zam>='\".$_POST['data_zam'].\"' AND data_zam<='\".$_POST['data_zam2'].\"'\";
  3. ?>

Jak nie ujmiesz $_POST[ 'data_zam'] i $_POST['data_zam2'] w "ciapki" to może się posypać porównywanie stringów.
P.S. Ja bym na twoim miejscu zmienił dane na czas Unix'a, liczby o wiele łatwiej porównywać i manipulować nimi niż stringami.
Go to the top of the page
+Quote Post
BzikOS
post 18.06.2004, 21:13:53
Post #5





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


  1. <?php
  2. $zapytanie=&#092;"WHERE data_zam BETWEEN '\" . $_POST['data_zam'] . \"' AND '\" . $_POST['data_zam2'] . \"'\";
  3. ?>


Polecałbym jednak przeprowadzać walidację danych z formularza.
Go to the top of the page
+Quote Post
hwao
post 18.06.2004, 22:16:03
Post #6


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




php pocz -> Bazy -> MySQL
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.08.2025 - 22:56