Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] liczenie numeru wpisu w miesiącu, na podstawie wartości time
krysk
post 15.11.2005, 23:30:00
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Witam,

jest możliwość pobrania przy pomocy jednego zapytania do bazy numeru wpisu w miesiącu? Chciałbym uzyskać zapis typu 12/11/2005 - dwunasty wpis w listopadzie tego roku. Do dyspozycji posiadam aktualnie tylko wartość funkcji time();

Rozwiązanie tego nie stworzyłoby mi problemu, gdyby nie fakt, że w systemie można cofnąć datę - tzn 1 grudnia dodać wpis z datą 31 listopada - w tym momencie sprawdzanie na podstawie
  1. SELECT id, time, COUNT(*) AS liczba
  2. FROM tabela WHERE time=<$time AND `id`=<$id

legło w gruzach. Zawsze może być wpis z id=5 datowany na 11.11.2005 i z id=6 na 9.11.2005 - zatem nie zostaną policzone wszystkie wpisy. Są jakieś inne sposoby na rozwiązanie tego problemu?


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
mike
post 15.11.2005, 23:44:18
Post #2





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

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


Nie zorientowałeś się jeszcze w układzie forum :?: Czas najwyższy.

Przenoszę na Bazy Danych -> MySQL
Go to the top of the page
+Quote Post
SongoQ
post 16.11.2005, 09:14:53
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Troche nie zrozumialem co ma dokladnie zwracac zapytanie. Ilosc wpisow w danym miesiacu nie uwzgledniajac przestawien dat?

Jesli mozesz to podak kilka przykladow rekordow i co zapytanie powinno zwrocic.


--------------------
Go to the top of the page
+Quote Post
krysk
post 18.11.2005, 01:46:57
Post #4





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


rekordy(id; data)
Kod
1; 11.11.2005
2; 11.11.2005
3; 5.11.2005
4; 12.11.2005


Data w bazie zapisana jest oczywiście w postaci timestampu - dla czytelności przedstawiłem ją w bardziej "ludzkiej" formie smile.gif
No i teraz chciałbym aby zapytanie np. dla rekordu od id=3 wartość 1/11/2005 (pierwszy dokument w listopadzie) a dla id=2 - 3/11/2005 (trzeci dokument w listopadzie).


Jestem świadom, że to jest zawiłe - ale numeracja jest analogiczna do numeracji np. faktur - numer faktury w danym miesiącu, bez względu na id - zależne tylko i wyłącznie od wartości timestampu. Wiem także, że wraz z zmianą daty może ulec zmianie cała numeracja moich dokumentów.


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
SongoQ
post 18.11.2005, 14:13:41
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jesli chodzi o faktury to faktycznie w tym przypadku trudno bedzie, bo numeracja:
1 musi byc wedlug wystawionych faktur
2 zgodna z datami wystawienia

Kiedys zajmowalem sie e-fakturkami i sprawe to zrobilem w ten sposob, ze numer jest nadawany w chwili wystawienia i zapisywany do bazy i wtedy nie ma mozliwosci wystawienia faktury z wiekszym numerem id jesli data jest wczesniejsza od ostatniej faktury. Podobny problem przerabialismy i wiem ze jesli aplikacja dziala u klienta to trudno jest sie zabezpieczyc przez bledami.


--------------------
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: 12.06.2025 - 16:40