Door
Douwe Westra
op 06-07-2016 22:20
gewijzigd op 06-07-2016 22:21
4.111 views
Voor onderstaande code zoek ik iets, ik wil graag automatisch, of door middel van een knopje de velden "bedrag" en "bethaalmethode" elke keer extra laten verschijnen.
Maximaal 100 stuks ofzo (niet alle 100 tegelijk)
Bij het verzenden van de data moeten alle velden meegenomen worden en de datum ook.
Stel dat je deze regels ook weer even gemakkelijk wilt verwijderen, of anders wilt rangschikken. Ik denk dat je dan alleen maar meer hinder ondervindt van een vaste nummering dan dat je hier profijt van hebt.
Ook heeft de index geen echte betekenis noch echte meerwaarde, want de velden worden toch verzonden in de volgorde waarin ze visueel op het scherm staan.
Om toch/gemakkelijk het aantal elementen te kunnen tellen zou ik hier een soort van container/wrapper (div) met een id omheen zetten, en dan gewoon elke keer als er geklikt wordt het aantal elementen in de container tellen.
@Douwe ik denk dat je JavaScript breekt omdat je de zowel de string begrensd met dubbele quotes, en ook in de string zelf dubbele quotes gebruikt... Als je nu eens je string begrensd met enkele quotes?
@Douwe ik denk dat je JavaScript breekt omdat je de zowel de string begrensd met dubbele quotes, en ook in de string zelf dubbele quotes gebruikt... Als je nu eens je string begrensd met enkele quotes?
Het HTML en JavaScript gedeelte zou nu opgelost moeten zijn. Resteert je nog het bakken van INSERT-queries.
Ik denk dat je het jezelf gemakkelijker maakt om dit soort dingen in verschillende deelproblemen op te delen want je neemt teveel hooi op je vork. Je probeert alles in 1x op te lossen en dan "werkt het niet", in plaats van dingen stap voor stap en gestructureerd aan te pakken.
Je bent nu zover dat je je POST data kunt gaan inspecteren en op grond daarvan queries kunt gaan bouwen. Het is misschien ook handig om eerst te controleren of je formulier verzonden is voordat je lukraak $_POST variabelen gaat gebruiken die mogelijk helemaal niet bestaan...
Probeer even wat meer orde te scheppen in je (eigen) chaos.
Het HTML en JavaScript gedeelte zou nu opgelost moeten zijn. Resteert je nog het bakken van INSERT-queries.
Ik denk dat je het jezelf gemakkelijker maakt om dit soort dingen in verschillende deelproblemen op te delen want je neemt teveel hooi op je vork. Je probeert alles in 1x op te lossen en dan "werkt het niet", in plaats van dingen stap voor stap en gestructureerd aan te pakken.
Je bent nu zover dat je je POST data kunt gaan inspecteren en op grond daarvan queries kunt gaan bouwen. Het is misschien ook handig om eerst te controleren of je formulier verzonden is voordat je lukraak $_POST variabelen gaat gebruiken die mogelijk helemaal niet bestaan...
Probeer even wat meer orde te scheppen in je (eigen) chaos.
Hoi Thomas,
Excuus voor de late reactie (vakantie), maar mijn kennis rijkt niet ver genoeg (nog) om te snappen wat je bedoeld en uit te voeren.
Kan/wil je mij op weg helpen?
@Ariën het hele idee was juist dat je meerdere records in 1x in kon voeren :). Je zult dus op zijn minst met een foreach-loop door je POST data heen moeten.
Daarnaast is het verstandig om je invoer te filteren, je wilt dat datums goed geformatteerde datums zijn, dat (bij voorkeur) de betaalmethode een id(entifier) is van een betaalmethode-tabel en dat een bedrag ook echt een numeriek bedrag is. Dit alles om er zorg voor te dragen dat de informatie die de database in gaat ook echt (in ieder geval qua formattering) klopt.
Oh en als je hier dan toch een foreach van maakt wil je waarschijnlijk ook dat al deze records worden ingevoerd, of geen van alle. Misschien is dan gebruikmaking van een transactie verstandig. Wat tot gevolg heeft dat de engine van deze tabel(len) InnoDB moet zijn.
Daarnaast wil je dan waarschijnlijk ook terugkoppeling over wat er fout is indien er iets niet klopt en wil je tevens niet alles opnieuw invullen maar het formulier terugkrijgen met alle zojuist ingevulde informatie, waarbij de velden met fouten voorzien zijn van een aantekening. Anders wordt het invoeren van omzet nogal een beproeving.
Oftewel: het invoeren moet makkelijk zijn, geen extra werk kosten en de data die de database in gaat moet van het juiste format zijn.
@Douwe hoe zijn deze bedragen opgebouwd? Met een komma als decimaal scheidingsteken, of een punt? Of vul je alles in in centen? Indien je bedragen invoert met een komma dan kan PHP/MySQL hier niet (goed) mee rekenen. Daarnaast, hoe luidt de tabeldefinitie van omzet (op te vragen met SHOW CREATE TABLE omzet)?