Ik heb een dillema waar ik even een frisse blik op nodig heb. Het gaat om het volgende:
Ik heb een pagina waar je verzuim data aan een persoon kan hangen. Je kan dynamisch een veld toevoegen onder de verzuim data die er al zijn.. Dit gebeurt met een stukkie javascript. Vervolgens kun je het form submitten (d0h).
De velden die je dynamisch toevoegt staan in een array. Als ik verzuim data heb die al aanwezig is geef ik die het record id als array waarde.
Het nieuwe veld krijgt dan automagisch het laatste nummer in de array + 1.
Nu mijn dillema, nou ja valt denk ik wel mee, anyways:
In de array zitten nu dus een aantal waardes die al bestaan, en een aantal die nieuw zijn. Dit moet uiteindelijk weer in de database komen.
Hoe kan ik dit nu het beste toevoegen?
1. Kijken naar de waarde in de array en checken in de tabel of de waarde een id is van een bestaand record en updaten, zoniet komt de waarde uit de array niet als id voor en dan toevoegen als nieuw record?
2. Andere optie?
Graag jullie mening/input/opmerkingen
De code:
Het javascript gedeelte:
Het formpie (waar ik in de head bovenstaand javascript aanroep)
Het php gedeelte (verzuim2.php)
Het is overigens een test setupje, dus gewoon even input velden etc
Ik heb een pagina waar je verzuim data aan een persoon kan hangen. Je kan dynamisch een veld toevoegen onder de verzuim data die er al zijn.. Dit gebeurt met een stukkie javascript. Vervolgens kun je het form submitten (d0h).
De velden die je dynamisch toevoegt staan in een array. Als ik verzuim data heb die al aanwezig is geef ik die het record id als array waarde.
Het nieuwe veld krijgt dan automagisch het laatste nummer in de array + 1.
Nu mijn dillema, nou ja valt denk ik wel mee, anyways:
In de array zitten nu dus een aantal waardes die al bestaan, en een aantal die nieuw zijn. Dit moet uiteindelijk weer in de database komen.
Hoe kan ik dit nu het beste toevoegen?
1. Kijken naar de waarde in de array en checken in de tabel of de waarde een id is van een bestaand record en updaten, zoniet komt de waarde uit de array niet als id voor en dan toevoegen als nieuw record?
2. Andere optie?
Graag jullie mening/input/opmerkingen
De code:
Het javascript gedeelte:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function addEvent() { var ni = document.getElementById('myDiv'); var numi = document.getElementById('theValue'); var num = (document.getElementById("theValue").value -1)+ 2; numi.value = num; var divIdName = "my"+num+"Div"; var newdiv = document.createElement('div'); newdiv.setAttribute("id",divIdName); newdiv.innerHTML = "<input type=\"text\" name=\"begindatum[]\">Element Number "+num+" has been added! <a href=\"javascript:;\" onclick=\"removeEvent(\'"+divIdName+"\')\">Remove the div ""+divIdName+""</a>"; ni.appendChild(newdiv); } function removeEvent(divNum) { var d = document.getElementById('myDiv'); var olddiv = document.getElementById(divNum); d.removeChild(olddiv); |
Het formpie (waar ik in de head bovenstaand javascript aanroep)
HTML:
1
2
3
4
5
6
7
8
9
10
11
| <form action="verzuim2.php" method="post"> <input type="hidden" value="0" id="theValue" /> <p><a href="javascript:;" onclick="addEvent();">Verzuim datum toevoegen</a></p> <input type="text" name="begindatum[2]"/>een al bestaande datum<br/> <input type="text" name="begindatum[4]"/>een al bestaande datum<br/> <input type="text" name="begindatum[20]"/>een al bestaande datum<br/> <div id="myDiv"> </div> <input name="" type="submit" /> </form> |
Het php gedeelte (verzuim2.php)
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <?php foreach($_POST['begindatum'] as $key => $line) { if($_POST['begindatum'][$key] > null) { echo $key . "-". $line. "<br/>"; } } ?> |
Het is overigens een test setupje, dus gewoon even input velden etc