Er der mulighed for rollback i MySQL?? Vidste jeg ikke.
Måske det er bedre at søge efter højeste nr. i tabellen og lægge en til hver gang der genereres en faktura. På den måde burde der ikke kunne opstå et hul i faktura rækkefølgen.
Det burde vel ikke give problemer med dubletter såfremt det køres i en samlet transaktion??
Hm. Lyder som om det teknisk ikke er muligt med adgang direkte fra brugerniveau. Hvad synes du om hvis man sætter et "flag" klar til fakturering, og så kører et cronjob eks. Hvert minut der trækker nummeret og generere fakturaen.
Denne løsning er dog ikke helt så flexibel, da der ikke genereres fakturaer "instant"
Dog noget kompliceret forhold til at lave noget af Trans start Træk højeste nr. Indsæt faktura nr. Trans commit
Faktura nummeret skal indsættes i en ordre tabel i kolonnen "invoice_no" kolonnen er UNIQ og kan indeholde NULL sidstnævnte bruges hvis en ordre ikke ender ud i en faktura.
Når tabellen ser ud som denne, vil "dobbelt trækninger" vel ende ud i en fejl og ikke 2 fakturaer med samme nr.?
Ps. Er rollback = ikke at commite en transaktion?
Pps. Er der nogle der har erfaringer fra andre finans systemer.
Søgte lige efter only one instance og faldt over følgende PHP Script.
Tror det bliver den vej jeg går.
1. Sikrer mig at der kun kan køres et script af gangen. (Se nedenstående PHP script) 2. Kontrollere at ordren må faktureres. (er den leveret eller er den faktureret tidligere) 2. Trækker højeste nr. i tabellen og lægger 1 til. 3. Indsætter faktura nr. samt andre nødvendige data. 4. Generere PDF faktura og gemmer i systemmappe, hvor kun systemet har adgang til 5. Sender faktura (email, printer, m.v.) 6. skriver til logfil. Faktnr, Ordrenr, pdffil, emailed, printet ect.
Er der noget jeg ikke har tænkt på??
<?php $run = basename($_SERVER['PHP_SELF'], '.php') . '.run'; // Kan evt. erstattes med et unikt ID hvis det eksempelvis kun //er en funktion der kun må køre en gang
Du har engang laest http://www.eksperten.dk/guide/996, men maaske var den vaerd at genlaese. Den er ikke paa et ret hoejt niveau, men den giver nogle termer som man kan google videre paa.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.