Autor | Zpráva | ||
---|---|---|---|
Ivan Profil * |
#1 · Zasláno: 13. 3. 2005, 15:13:00
Zdravim, mohli by jste mi poradit, chtěl bych v aplikaci udělat číslování objednávek, coč by mělo být ve formátu rok + autoincrement (takže vlastně například 20051, 20052, 20053 atd...). To by pro mě celkem ještě problém nebyl, ale narážím na problém vždy s příchodem nového roku a pořadové číslo za rokem dostat zase od jedničky...
Možná by se mi to nakonec povedlo nějakou funkcí, ale asi bych jí dělal hrozně složitě. Díky za radu |
||
llook Profil |
#2 · Zasláno: 13. 3. 2005, 17:13:33
Nevím, jestli chápu problém. Jde o to, napsat funkci která zvýší první čtyřčíslí (rok) o jednu a přidá za něj jedničku? To by mohlo být nějak takhle:
Ale jak by řekla Dolly: "Je to prasárna". Lepší by bylo uchovávat zvlášť rok a zvlášť číslo objednávky. Slinkovat to až na výstupu. |
||
Ivan Profil * |
#3 · Zasláno: 13. 3. 2005, 22:48:29
No, tak to právě ono neni. Zkusím to jinak.. Číslování bude probíhat následovně: 20051, 20052, 20053 atd... To znamená rok a k tomu pořadové číslo. A s příchodem nového roku se má změnit ne jen číslo roku, ale i to číslování začne opět od jedničky.
Takže příklad: 2005159 2005160 2005161 20061 20062 20063 atd... Takovýto formát čísla se bude ukládat do DBA... |
||
Ivan Profil * |
#4 · Zasláno: 13. 3. 2005, 23:12:33
No, tak jsem to vytvořil následovně, ale zdá se mi to fakt zbytečně hrozně složitý...
function CisloObjednavky($posledni) { $rok = substr($posledni, 0, 4); if ($rok != date("Y")) { $rok = substr($posledni, 0, 4)+1; $increment = "0"; } else { $rok = date("Y"); $increment = substr($posledni, 4, 4); } return "$rok". $increment+1; } $vypis = mysql_fetch_array(mysql_query("SELECT cislo FROM objednavky ORDER BY cislo DESC LIMIT 1")); echo CisloObjednavky($vypis[cislo]); Pokud by jste věděli jak tohle řešit jednodušeji, byl bych vám vděčný... |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0