![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 23.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam
Napewno ktos po przeczytaniu posta zarzuci ze takie tematy byly i nie chce mi sie szukac, ale uprzedzajac: szukalem ale jakos nie moge sobie z tym poradzic. kombinowalem roznymi metodami Mam tabelke CREATE TABLE `katalog` ( `adres` varchar(50) NOT NULL default '', `tytul` varchar(100) NOT NULL default '', `opis` varchar(100) default NULL, `kat` int(11) NOT NULL default '0', `email` varchar(60) NOT NULL default '', `data` date default '0000-00-00', `stan` int(11) NOT NULL default '0', PRIMARY KEY (`adres`) ) TYPE=MyISAM; i musze porownac aktualny czas z komorka data i jesli roznica wieksza lub rowna 10 dni to wyswietla wyniki ewentualnie zmienia wartos komorki stan z gory dziekuje |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 1 Dołączył: 6.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zastosuj funkcje:
DATEDIFF() - zwraca liczbę dni między datami, NOW() - zwraca aktualny czas -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 23.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
tego tez probowalem ale jakos nic mi nie chce dzialac. Probowalem tak
ale wywala blad a jak warunek po where wezme w klamry to nie pokazuje bledu ale nic nie zmienia w bazie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
tego tez probowalem ale jakos nic mi nie chce dzialac. Probowalem tak
ale wywala blad a jak warunek po where wezme w klamry to nie pokazuje bledu ale nic nie zmienia w bazie
może tak:
przecież to jest liczba a nie string... a jeśli już to raczej w nawiasy:
pamiętaj że: mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); -> 1 mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31'); -> -31 więc może przed nawias wstawić jeszcze funkcję ABS ?
Ten post edytował ww-06 24.01.2007, 18:11:33 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 23.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
zrobilem tak:
i z nawiasami jak pisales ale wywala blad Something is wrong in your syntax obok '(CURDATE(), data) >= 1' w linii 1 Otwórz sobie phpmyadmina, ja przed chwilą utworzyem dokładnie taką bazę z polami data i stan i zapytanie:
identycznie działa:
daje pozytywny rezultat np.: Zmodyfikowanych rekordów: 1 (Wykonanie zapytania trwało 0.0149 sekund(y)) więc błąd masz nie w zapytaniu, ale gdzieś na połączeniu z bazą, albo gdzieś nawstawiałeś za dużo/za mało znaków '' "" itd. Phpmyadmin bardzo ładnie pozwala nauczyć się wykonywania zapytań i zanim je włożysz do programu możesz tam na sucho przetestować. Ten post edytował ww-06 25.01.2007, 11:43:36 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 23.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
zrobilem jak mowiles ale dalej nie dzialalo wiec poszukalem i znalazlem:
DATEDIFF() was added in MySQL 4.1.1. czyli chyba znalazlem przyczyne ![]() ale jak to zrobic w inny sposob aby bylo zgodne z moja wersja? EDIT Sprobowalem funkcji z ktora wczesniej mialem problemy i teraz pieknie smiga ![]()
thx za pomoc Ten post edytował exar 25.01.2007, 16:35:18 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:36 |