![]() |
Reset auto incrementa na novu godinu (PHP MYSLQ)
Pozdrav,
slazem neku jednostavnu aplikaciju koja bi mi bila od pomoći ali sam naletio na mali problem. Zanima me na koji način napraviti da se broj neki resetira na novu godinu. Recimo ako tablica racun izgleda ovako: Code:
racun (innodb) Code:
E sad ne znam kako napraviti da se broj racuna resetira na novu godinu... mislio sam slozit MysQL scheduel statement al ne znam dal postoji alternativa. Hvala |
PHP kod:
Ako je imaš negdje zadanu ručno, usporedi samo date('o'). Ako je različito update varijeble i pošalješ SQL za reset AI. |
pozdrav,
ovo sto sam ja napravio ECHO u primjeru to je zapravo ECHO iz baze znaci bilo bi to Code:
echo row['godina'] . "/" . row[broj_racuna] a u stupac godina bi se popunjavao iz varijable neke koja bi echoala trenutnu godinu... tako da taj dio nije problem. Samo je problem to da se auto increment resetira na novu godinu, a varijabla sa godinom ce bit 2015 100% .. jer ide direktan output trenutne godine. Mozda sam malo pojasnio sto zelim, nadam se :) |
Jedino što meni pada napamet je povalčenje zadnjeg unosa iz baze i onda uspoređivanje sa date(), drugo neznam i sam sam dosta nov u ovome.
|
Hmmmm prvo nisam skuzio sta mislis... al sad mi je pala ideja na pamet, ne znam ako je to isto to što i ti kažeš :)
Znači ovako kod unosa u bazu napravit ću prvo uzimanje godine zadnjeg reda, zatim ako se ta godina razlikuje od trenutne godine (što znači da je godina promjenjena) prije samog unosa u bazu tada će se napraviti reset auto increment polja (samo ne znam dal to moze bit neko odredjeno polje). i to bi moglo bit to mozda, u glavi :D sad ne znam kako u praksi |
Tako nešto, samo prije unosa uzmi zadnji red iz baze i obavi reset.
E sad sami reset je poseban problem koliko sam ja malo googlao innodb se nemože resetirati AI, već se samo truncate-a taj stupac i ponovo napravi što IMO nema smisla. MOžda nova tablica za svaku godinu? |
Hmm ili da tablica bude myissam xD ... ajde bas cu vidit ako sta mogu smuckat... ako uspijem javim tu, pa mozda nekome bude trebalo. hvala
|
A da ubaciš u tablicu još jedno polje "Slijed" pa njega mijenjaš s obzirom na uvjete datuma i godine. Programski sam sve određuješ a ne da MySQL sam to drađuje.
|
Evo prijatelj uskočio u pomoć, kako jednostavna solucija a na netu ne možeš nać to.
jedan upit koji sve napravi zapravo. uvjet je da su broj_racuna, godina i user_id unique grupa, index znaci. Code:
"select ifnull(max(broj_racuna),0)+1 as broj |
Sva vremena su GMT +2. Sada je 16:20. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger