[php] factuurnr

Pagina: 1
Acties:
  • 154 views sinds 30-01-2008
  • Reageer

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Ik wil graag een uniek factuurnr creeren, en heb daarvoor de volgende oplossing bedacht. Alleen als ik nu een record verwijder uit tabel klant, dan krijg ik een duplicate factuurnr (namelijk dat wat net werd verwijderd)
PHP:
1
<?    $factuur_SQL = "SELECT klant_ID FROM klant ORDER BY klant_ID DESC LIMIT 1";$factuur = mysql_query($factuur_SQL);while ($laatste = mysql_fetch_array($factuur)){ $factuurnr = $laatste[0] + 12030; }if ($factuurnr == 0) $factuurnr = 12030;?>

iemand een tip?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
je kan een autoincrement doen.
En ik zou ook een klant niet daadwerkelijk verwijderen, maar een veld: "isdeleted" toevoegen.
En waarom doe je een while terwijl je maar 1 record terugkrijgt?

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
ok, maar er zijn ook situaties te bedenken waar echt een heel record eruit moet.

die autoincrement staat op klant_ID al...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

In asp (ja in asp jah ;)) gooi ik zulk soort spul in een datum en tijd gedoe. Dus:
code:
1
factuurnr = year(now)&day(now)&month(now)&hour(now)&minute(now)&second(now)

werkt ook altijd lekker...
Dit heb je ook vast wel in php

Heart..pumps blood.Has nothing to do with emotion! Bored


  • flat
  • Registratie: Mei 2000
  • Niet online
tenzij er 2 facturen tijdens dezelfde seconde gegenereerd worden
dan heb je écht 'n probleem

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
heeej, das een hele mooie! ik ga es ff programmeren :)

[edit] dan op milliseconden (als da kan)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

Op donderdag 27 juni 2002 17:37 schreef Flat© het volgende:
tenzij er 2 facturen tijdens dezelfde seconde gegenereerd worden
dan heb je écht 'n probleem
owke, ligt eraan hoe druk je het hebt ofcourse. Maar je kan natuurlijk ook met milliseconden werken. Desnoods plak je het Klant-Id eraan ofsow...

Wees creatief ;) lol

Heart..pumps blood.Has nothing to do with emotion! Bored


  • flat
  • Registratie: Mei 2000
  • Niet online
maar ook met maar 2 klanten per dag kan 't gebeuren hè (kleine kans natuurlijk, maar you get the idea)

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Op donderdag 27 juni 2002 17:39 schreef TeeDee het volgende:

[..]

owke, ligt eraan hoe druk je het hebt ofcourse. Maar je kan natuurlijk ook met milliseconden werken. Desnoods plak je het Klant-Id eraan ofsow...

Wees creatief ;) lol
ik bedenk me net dat het factuurnr bij iedere nieuwe factuur met stappen van 1 verhoogd moet worden. dus tijd valt af...
dat met dat klant_ID dat wilde ik ook doen, maar krijg het niet werkend!!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

yup,
maar daarom zeg ik: plak het klant-id eraan... ben je erook...

/edit:
dat met dat klant_ID dat wilde ik ook doen, maar krijg het niet werkend!!
Sorry, dude, maar daar houdt mijn php kennis op...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
maareh, dat heb ik toch in mijn code?? alleen werkt het niet vlekkeloos, dus een tip naar de hand van mijn code zou me beter helpen.

Ik weet niet of ik jou begrijp maar als ik tijd en datum neem, dan krijg ik geen stappen van 1.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

Op donderdag 27 juni 2002 17:45 schreef Vinzzz het volgende:
maareh, dat heb ik toch in mijn code?? alleen werkt het niet vlekkeloos, dus een tip naar de hand van mijn code zou me beter helpen.

Ik weet niet of ik jou begrijp maar als ik tijd en datum neem, dan krijg ik geen stappen van 1.
klopt, hij doet een random code genereren opbasis van de tijd.

Misschien een ranzige denkwijze maar:
code:
1
als je een select count(hetaantalfacturenvandeklant)

doet, en daar + 1 erbij zet? Is dat niks?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
is ook een oplossing...maar das toch bijna hetzelfde als mijn eigen denkwijze...

Ik selecteer 1 klant_ID en wel het laatste...

Als ik dat van jou doe, en er gaat daadwerkelijk een record uit, dan heb ik weer een probleem...

edit:
iedere klant krijgt maar 1 factuur

  • flat
  • Registratie: Mei 2000
  • Niet online
maar waarom houd je dan 't factuurnummer niet gelijk aan 't klantnummer?

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

nee,

want je count het aantal facturen voor die desbtreffende klant_ID (als je zoiets tenminste hebt) en je telt er 1 bij op.

Je zou evt. ook nog kunnen checken of dat nummer als bestaat..

Ik werk als extra ook altijd nog met een extra veld (genaamd volgnummer). Die kan ik altijd zo aanspreken:

SELECT MAX(volgnummer) FROM dbo.orders WHERE klant_ID = 'hier je klantcode'

Werkt ook altijd feilloos.
Want je kan daar dan weer je factuurnr. op baseren

Heart..pumps blood.Has nothing to do with emotion! Bored


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

Op donderdag 27 juni 2002 17:50 schreef Flat© het volgende:
maar waarom houd je dan 't factuurnummer niet gelijk aan 't klantnummer?
krijg je toch dezelfde factuurnummers ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Op donderdag 27 juni 2002 17:50 schreef Flat© het volgende:
maar waarom houd je dan 't factuurnummer niet gelijk aan 't klantnummer?
das toch precies wat ik in mijn code heb (ik tel er alleen een getal bij, om een mooier factuurnr te creeren)

  • flat
  • Registratie: Mei 2000
  • Niet online
wat is dan je probleem? :D

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

als je een record eruit haal, dan kloppen je factuurnummers niet meer... dat is zijn probleem

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Op donderdag 27 juni 2002 17:53 schreef TeeDee het volgende:
als je een record eruit haal, dan kloppen je factuurnummers niet meer... dat is zijn probleem
psies ;)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

dus:

als je nu een extra veld erin bouw (in de table met alle factuurnummers) dan kan je het volgende doen:

SELECT MAX(volgnummer) FROM dbo.orders WHERE klant_ID = 'hier je klantcode'

en die doe je dan +1. Alleen je krijgt dan alsnog een probleem als je een factuur verwijder.

Weet je zeker dat je een record wil verwijderen?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
is het niet een goeie oplossing om iedere keer als ik een nieuwe factuur maak....te lezen in een text bestand, en vervolgens 1 erbij op te tellen...sluiten en saven ??

  • flat
  • Registratie: Mei 2000
  • Niet online
mja 't zal wel aan mij liggen dan
maar waarom wil je die records verwijderen?
gewoon 'n extra field maken zoals nielsz zegt is toch veel makkelijker (en beter)?

"Happiness is a way of travel, not a destination."
--Roy Goodman


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

extra table die bijhoudt hoeveel facturen ervoor die klant uitgaan?

anders zou ik maar eens een ander db model gaan bedenken ;)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Grum
  • Registratie: Juni 2001
  • Niet online
Zo te zien kan er maar 1 factuur per klant zijn en worden de facturen nooit weggegooid ? Dit haal ik uit et feit dat je je factuurnr uit je uit je klanten aantal haalt en zegt dat er dubbele facturen zijn als je een klant wist.

Dit stinkt naar een foutje in je ontwerp of een ranzig db-model :)

Als je klant maximaal 1 factuur heeft ... dan add je em toch gewoon onder et klant-nr ?

Als je klant meerdere facturen mag hebben dan add je toch gewoon een aparte tabel welke autoincrement is ?

Ik snap et probleem niet eigenlijk :D

[sub]
edit:
TeeDee: jij postte ook nog veel meer rotzooi voor mij >:)
[/sup]

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
ja ik weet ook niet wrom het niet normaal werkt. de mogelijkheid om records definitief te verwijderen MOET er gewoon in... Maar ik kan in phpmyadmin niet een 2e autoincrementveld aanmaken...lekker vaag dus

maar ik denk dat ik aan de gang ga met die text file, dan kan er nix mis gaan...(denk ik)

Verwijderd

Op donderdag 27 juni 2002 17:57 schreef Vinzzz het volgende:
is het niet een goeie oplossing om iedere keer als ik een nieuwe factuur maak....te lezen in een text bestand, en vervolgens 1 erbij op te tellen...sluiten en saven ??
Dan krijg je hetzelfde als met auto_increment...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

helemaal ranzige oplossing...

als je een factuur van een klant verwijder, dan neem ik aan dat die klant die factuur ook nooit krijgt...

snap eigenlijk het probleem ook niet meer

p.s.: Grum, ik was eerder >:)

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
ja is beetje vaag, srry...misschien helpt dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CREATE TABLE klant (
  klant_ID int(11) NOT NULL auto_increment,
  achternaam text NOT NULL,
  voornaam text NOT NULL,
  land enum('Nederland','Belgie','Luxemburg','Anders') NOT NULL default 'Nederland',
  straatnaam text NOT NULL,
  huisnr text NOT NULL,
  postcode text NOT NULL,
  plaats text NOT NULL,
  telefoonnr varchar(15) default NULL,
  huidigemail text,
  betaald enum('ja','nee') NOT NULL default 'nee',
  accountnaam text NOT NULL,
  domein enum('vrijthofmaastricht.nl','vriethof.nl',
'marktmaastricht.nl','merret.nl','onzelievevrouweplein.nl','slevrouweplein.nl') 
NOT NULL default 'vrijthofmaastricht.nl',
  webmail enum('ja','nee') NOT NULL default 'nee',
  domeingids enum('ja','nee') NOT NULL default 'ja',
  factuurnr int(11) NOT NULL default '0',
  datum date NOT NULL default '0000-00-00',
  PRIMARY KEY  (klant_ID),
  KEY klant_ID (klant_ID)
) TYPE=MyISAM;

Scenario: ik ben een hotmailachtige situatie aant nabootsen voor een site. Mensen melden zich aan voor een emailadres, en na een form in te hebben gevuld, kunnen zij dit email METEEN gebruiken.
Dit werkt allemaal al. Alleen heb ik een aparte database opgezet om de informatie van alle klanten op te slaan.
Als een klant op submitknop duwt gebeurt er:
1. $datum = date, $betaald = nee, $factuurnr wordt bepaald
2. klantgegevens in aparte database
3. aanmaken emailadres

  • Grum
  • Registratie: Juni 2001
  • Niet online
heel simpel .. klant_nr gelijkt aan factuur_nr .. en nu stoppen met mekkeren :D

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

ja, en niet een record verwijderen...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Op donderdag 27 juni 2002 18:06 schreef Grum het volgende:
heel simpel .. klant_nr gelijkt aan factuur_nr .. en nu stoppen met mekkeren :D
grum, srry hoor, maar zie mijn allereerste post...daar heb ik dat! (ik wil alleen niet dat het bij 0 begint met tellen, maar bij laten we zeggen 23000, dus tel ik dat er simpelweg bij op)

Als je me kunt zeggen wat ik fout doe in die code, mekker ik niet meer :D

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 27 juni 2002 18:08 schreef Vinzzz het volgende:
grum, srry hoor, maar zie mijn allereerste post...daar heb ik dat! (ik wil alleen niet dat het bij 0 begint met tellen, maar bij laten we zeggen 23000, dus tel ik dat er simpelweg bij op)
Dan doe je een auto_increment en insert je een dummy factuur met nummer 23000...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:22

TeeDee

CQB 241

Op donderdag 27 juni 2002 18:14 schreef ACM het volgende:

[..]

Dan doe je een auto_increment en insert je een dummy factuur met nummer 23000...
volgens mij is dat meer zijn probleem: hij krijgt er geen autoincrement op...

Heart..pumps blood.Has nothing to do with emotion! Bored


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 27 juni 2002 18:15 schreef TeeDee het volgende:
volgens mij is dat meer zijn probleem: hij krijgt er geen autoincrement op...
Klant en factuur zijn toch niet dezelfde tabel?
Klantnummer -> in klanttabel een autoincrement
factuurnr -> in factuurtabel een autoincrement.

Als ie het niet ongeveer zo heeft, zit er eerder een fout in het db-model en zou daar wat aan veranderd moeten worden :)

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
dat klopt :( als ik niet het LAATSTE record verwijder, is er natuurlijk niets aan de hand. Maar doe ik dat wel, dan krijg ik het factuurnr van de gedelete record...

maar goed, moet naar huis nu, stage is afgelopen :D ik w8 met sm8 op jullie tips mzzl

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
Op donderdag 27 juni 2002 18:18 schreef ACM het volgende:

[..]

Klant en factuur zijn toch niet dezelfde tabel?
Klantnummer -> in klanttabel een autoincrement
factuurnr -> in factuurtabel een autoincrement.

Als ie het niet ongeveer zo heeft, zit er eerder een fout in het db-model en zou daar wat aan veranderd moeten worden :)
zie bovenpost, alles in 1 tabel (iedere klant krijgt maar 1 factuur)

  • Grum
  • Registratie: Juni 2001
  • Niet online
* Grum traant ....

als jij een factuur add onder een klant dan heb je z'n klantnummer toch ook ???????

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 27 juni 2002 18:19 schreef Vinzzz het volgende:
dat klopt :( als ik niet het LAATSTE record verwijder, is er natuurlijk niets aan de hand. Maar doe ik dat wel, dan krijg ik het factuurnr van de gedelete record...
Met een autoincrement niet...
Die blijft doortellen.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 27 juni 2002 18:20 schreef Vinzzz het volgende:
zie bovenpost, alles in 1 tabel (iedere klant krijgt maar 1 factuur)
zie grum's reply dan :P

Met een autoincrement telt ie door ipv dat ie de hoogste pakt.
Door het inserten (en evt verwijderen) van een dummy waarde kan je gewoon beginnen waar je wilt.

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Ik zou een aparte tabel met facturen maken.. en dan laat je ze daarin lopen met een autoincrement id veld.

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • Grum
  • Registratie: Juni 2001
  • Niet online
fijn dat jij ook ff de thread leest ;)

  • Le Mol
  • Registratie: April 2000
  • Niet online
Denk er wel aan dat de belastingdienst eist dat facturen opeenvolgende nummers hebben, m.a.w. gaten zijn echt _not done_. Ook de gaten opvullen is ook _not done_ (dan klopt de 'factuurnr-lijn' niet met de tijdlijn namelijk :)

En bij 23000 beginnen vinden ze prima, als je dan daarna meer gewoon verder nummert.

Hoe ze denken over de timestamp als factuurnr weet ik eigenljk niet, er is dan namelijk ook geen controle mogelijk dat het een doorlopend geheel is. Ze zijn namelijk bang dat je 'sjoemel facturen' weg gemoffeld hebt als de lijn onderbroken is.....

Logic brings you from a to b, your imagination can bring you anywhere


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 27 juni 2002 18:33 schreef Le Mol het volgende:
Wat ook gelijk de reden is dat je ze nooit permanent moet verwijderen :)

  • Le Mol
  • Registratie: April 2000
  • Niet online
Op donderdag 27 juni 2002 18:35 schreef ACM het volgende:

[..]

Wat ook gelijk de reden is dat je ze nooit permanent moet verwijderen :)
idd, je doet iets fout als je uberhaubt facturen _wilt_ verwijderen, gewoon een credit nota aanmaken is veel beter/netter...

Logic brings you from a to b, your imagination can bring you anywhere


  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
jullie hoeven me ook niet uit te leggen dat ik met autoincrement moet werken. Dat had ik al es aangegeven dat dat niet werkte. Ik heb ook al meerdere malen gezegd DAT ik werk met het klant_ID.
Autoincrement kan ik (schijnbaar) maar op 1 veld doen in phpmyadmin. Dus enige oplossing is 2e tabel aanmaken?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op vrijdag 28 juni 2002 10:16 schreef Vinzzz het volgende:
Autoincrement kan ik (schijnbaar) maar op 1 veld doen in phpmyadmin. Dus enige oplossing is 2e tabel aanmaken?
Ja, 1 tabel voor klanten en 1 voor facturen... had je dat nog niet dan?

Trouwens, over dat niet-onderbreken van nummers kan ik Le Mol gelijkgeven. Bij dat pakket waar ik aan werk is het ook absoluut VERBODEN om een facuurnummer over te slaan.

Hoe ze dat opgelost hebben wil ik jullie niet onthouden, in pseudo-code:
code:
1
2
3
4
5
6
7
8
9
10
  Genereer factuurkoppen
  Genereer factuurregels
  for each factuurkop:
    If not can-find(factuurregel of factuurkop) then
    delete factuurkop
    for each factuurkop:
      factuurkop.nummer = factuurkop.nummer - 1
    end. /* for */
    end. /* if */
  end. /* for */

Needless to say dat dit weleens ERRUG lang kan gaan duren... klanten klaagden dat het facturen genereren soms een hele werkdag duurde... maar ja, als je een paar duizend nutteloze factuurkoppen gaat maken en de dan zo wegpleuren...

Ik heb het maar omgeschreven naar zoiets:
code:
1
2
delete from factuurkop where not can-find(factuurregel of factuurkop).
/* loopje om de nummers in 1 keer goed te zetten */

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 28 juni 2002 10:16 schreef Vinzzz het volgende:
jullie hoeven me ook niet uit te leggen dat ik met autoincrement moet werken. Dat had ik al es aangegeven dat dat niet werkte. Ik heb ook al meerdere malen gezegd DAT ik werk met het klant_ID.
Autoincrement kan ik (schijnbaar) maar op 1 veld doen in phpmyadmin. Dus enige oplossing is 2e tabel aanmaken?
Ben je nou selectief aan het lezen?

Als je zowel een factuurnr als een klantnr wilt, waarom kan je die dan niet als één nummer neerzetten :? (dus niet: factuurnr EN klantnr, maar factuurnr = klantnr)
Of wil je perse dat de factuurnr bij 23000 begint en het klantnr bij 1?

Sowieso is het veel netter om 2 tabellen te gebruiken, dan hoef je niet voor duizend facturen duizend klanten in te voeren.

En autoincrement kan inderdaad maar op 1 kolom in mysql, dat is een (belachelijke, een zoveelste) beperking van mysql.
Als je over kan stappen naar postgres zou je wel 2 (of meer) tellende kolommen kunnen hebben :)

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39

Scharnout

Meuk

Leuk allemaal dat programeerspul, maar dit is de reden dat financiele mensen It-mensen vervloeken :+

Factuurnummering is wel vastgelegd hoe je dat moet doen. Zowieso moet het een opeenvolgende nummering zijn. Verder als een factuur niet goed is, mag je hem niet vernietigen maar zal je een creditfactuur moeten maken. Je kan dus ook geen klanten in je db weggooien, want dan gooi je een stukje historie van je administratie weg en dat mag niet :) Dan wordt oom Belastinginspecteur erg boos en gaat hij ambtshalve aanslagen opleggen (dan "schat" hij je inkomsten en hij schat je dan opeens heeeeeeeel erg hoog in).

Maw. Kijk eerst eens wat je MOET doen en ga daarna kijken hoe je dat gaat doen en of dat niet in conflict is met huidige (of misschien wel verplichte) methode van werken.

Nog vragen :)

And Bob's your uncle ...


  • Zonique
  • Registratie: Maart 2002
  • Laatst online: 20-08 22:23
Wat de meeste adminitratieve software pakketten doen, en wat ik jou ook aanraad is om een tweede tabel aan te maken. In die tabel hou je dan precies bij wat het laatste nummer is dat is uitgegeven voor je facturen. En die tabel gebruik je dan natuurlijk ook meteen voor je orders, vrachtbrieven en al dat soort dingen.

Elke keer als je een factuur maakt, hoog je de facturen teller één op, zodat de factuurnummers 'opeenvolgend en aaneensluitend' zijn, zoals de fiscus dit van elk bedrijf verlangt.

Deze constructie heeft een aantal belangrijke voordelen:
- Je programma/script wordt snel omdat je geen hele tabel of index structuur meer door hoeft te ploegen (één record opvragen op basis van een primary key veld in een tabel met een stuk of 10 records levert heel vlot resultaat)
- Je hebt geen trammelant op het moment dat je klantgegevens gaat verwijderen (wat ik trouwens ook niet echt verstandig vind, een veldje 'deleted' is inderdaad slimmer).
- Het is handig uit te breiden voor andere documenten en ander soort facturen (bijvoorbeeld een credit factuur).

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
ok. maar een factuurnr dat begint bij 1 ziet niet uit. Heb nu alles in 1 tabel (is nie zo mooi, maar alla...) en een isdeleted toegevoegd...
Nu nog even een functie schrijven die alle gegevens in een txt file wegschrijft als daadwerkelijk op de DELETEALL knop wordt gedouwd (er is een ook "gewone" delete knop, die isdeleted op true zet)

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 23-08 12:39

Scharnout

Meuk

Je hoeft idd niet bij 1 te beginnen

And Bob's your uncle ...


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 03-09 15:18

Crazy D

I think we should take a look.

Op vrijdag 28 juni 2002 10:42 schreef Vinzzz het volgende:
ok. maar een factuurnr dat begint bij 1 ziet niet uit.
Veel bedrijven beginnen het jaar met bv 200200001. En daarnaast zijn er maar weinig bedrijven die naar een faktuur kijken van "goh, faktuurnr 1, wat een prutsers"... het zal de meeste echt een rotzorg zijn welk nummertje de faktuur heeft, als de geleverde goederen/diensten maar goed zijn, en de faktuur klopt (of i.i.g. het bedrag niet hoger is, lager mag altijd :P).

Exact expert nodig?


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Je kunt het faktuurnummer toch gewoon bij 1 beginnen? Alleen als je hem afdrukt echo je er gewoon 475643 voor.

Dan lijkt het heel interessant.
(Hoewel ik me afvraag wat voor nut dit heeft :? )

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
ok, het werkt nu gewoon (met dat isdeleted)
en heb net een functie geschreven die voordat alles wordt weggegooid, nog snel backupped naar een txt file:
PHP:
1
<? <?php    include 'connect.inc.php';    $fp = fopen('/home/httpd/vhosts/path/httpdocs/beheer/logs/vinlog.txt', "a");    fwrite($fp, chr(13).chr(13).chr(13)."==========================================".chr(13).        "====  Backup DB-gegevens  ".date('d-m-Y')."  ====".chr(13).        "==========================================".chr(13).chr(13).chr(13).chr(13));                $gegevens_SQL = "SELECT * FROM klant";    $gegevens_result = mysql_query($gegevens_SQL);    while($gegevens = mysql_fetch_array($gegevens_result))     {        fwrite($fp, "klant_id: ".$gegevens['klant_ID'].chr(13));                fwrite($fp, "email: ".$gegevens['accountnaam']."@".$gegevens['domein'].chr(13));        fwrite($fp, "factuurnr: ".$gegevens['factuurnr'].chr(13));        fwrite($fp, "datum: ".$gegevens['datum'].chr(13));        fwrite($fp, "voornaam: ".$gegevens['voornaam'].chr(13));        fwrite($fp, "achternaam: ".$gegevens['achternaam'].chr(13));        fwrite($fp, "straatnaam: ".$gegevens['straatnaam'].chr(13));        fwrite($fp, "huisnr: ".$gegevens['huisnr'].chr(13));        fwrite($fp, "postcode: ".$gegevens['postcode'].chr(13));        fwrite($fp, "plaats: ".$gegevens['plaats'].chr(13));        fwrite($fp, "land: ".$gegevens['land'].chr(13));        fwrite($fp, "telefoonnr: ".$gegevens['telefoonnr'].chr(13));        fwrite($fp, "huidig email: ".$gegevens['huidigemail'].chr(13));        fwrite($fp, "webmail: ".$gegevens['webmail'].chr(13));        fwrite($fp, "domeingids: ".$gegevens['domeingids'].chr(13));        fwrite($fp, "betaald: ".$gegevens['betaald'].chr(13));        fwrite($fp, "isdeleted: ".$gegevens['isdeleted'].chr(13));        fwrite($fp, chr(13)."---------------".chr(13).chr(13));    }    fclose($fp);    //$factuur_SQL = "DELETE FROM klant";    //$factuur = mysql_query($factuur_SQL);?>

directory 'beheer' is een beveiligde directory.
Is deze constructie nu veilig genoeg om buitenstaanders geen enkele toegang te verlenen aan die aangemaakte txt file?
Of kan het beter...

edit:
drwxrwxrwx 2 apache psacln 4096 Jun 28 11:46 logs
Pagina: 1