Voor mijn systeem m.b.t. urenregistratie ben ik een variabel aantal rijen aan het creëren. Nu wil ik deze rijen (in variërend aantal) dus wegschrijven in een SQL-database m.b.v. een post-form.
Om de rijen te creeëren gebruik ik de volgende code (script gevonden elders op internet):
<form method="post">
<table id="myTable">
<tr>
<td><input type="text" name="links"></td>
<td><input type="text" name="keywords"></td>
<td><input type="text" name="violationtype"></td>
</tr>
</table>
<input type="button" class="button" value="Add another line" onclick="addField();">
<script>
function addField (argument) {
var myTable = document.getElementById("myTable");
var currentIndex = myTable.rows.length;
var currentRow = myTable.insertRow(-1);
var linksBox = document.createElement("input");
linksBox.setAttribute("name", "links" + currentIndex);
var keywordsBox = document.createElement("input");
keywordsBox.setAttribute("name", "keywords" + currentIndex);
var violationsBox = document.createElement("input");
violationsBox.setAttribute("name", "violationtype" + currentIndex);
var addRowBox = document.createElement("input");
addRowBox.setAttribute("type", "button");
addRowBox.setAttribute("value", "Add another line");
addRowBox.setAttribute("onclick", "addField();");
addRowBox.setAttribute("class", "button");
var currentCell = currentRow.insertCell(-1);
currentCell.appendChild(linksBox);
currentCell = currentRow.insertCell(-1);
currentCell.appendChild(keywordsBox);
currentCell = currentRow.insertCell(-1);
currentCell.appendChild(violationsBox);
}
</script>
</form>
Zou iemand mij kunnen helpen met het maken van het PHP-stukje? alvast bedankt!
Hoi Ariën! Ik had inderdaad iets duidelijker moeten zijn. Nu weet ik hoe ik een, twee of drie gegevens weg kan schrijven m.b.v. een SQL naar een database. Echter, ik zou niet weten hoe ik dit moet doen bij een variabel aantal rijen!
Hoi Ariën! Helaas heb ik nog niet veel kaas gegeten van arrays, en ik zou ook niet weten hoe ik dit toe kan passen in mijn code. Zou jij mij hierbij willen helpen? Alvast bedankt voor je (vorige), snelle antwoorden!
sidenote: Waarom niet gewoon item[]... zodat je ook rijen kunt toevoegen/weghalen. Het forceren van een volgnummer bij het toevoegen van rijen lijkt mij niet echt nodig?
Het wordt een ander verhaal als je reeds opgeslagen items wilt aanpassen (voordat je deze vergrendelt, wat mij ook wel handig lijkt als de uren gefactureerd worden / definitief worden gemaakt) - dan zet je tussen de rechte haken het id van het logboek-record zodat je weet wat er vervolgens bijgewerkt dient te worden.
Enne, "nog niet veel kaas gegeten van arrays", dan wordt dat hoog tijd als je je al met geavanceerdere zaken als databases/dynamische formulieren bezighoudt.
Hoi allemaal; bedankt voor jullie snelle reacties!
Ik ben bang dat ik het probleem niet helemaal goed heb uitgelegd :(
Ik ben bezig om de aanwezigheidsadministratie bij te houden. Ik voer daarom één keer de datum in, waarna ik bij iedere rij uit mijn tabel de gegevens in één keer weg wij schrijven in een SQL-tabel. Iedere rij in mijn tabel wordt dus ook een unieke rij/record in de SQL tabel, voorzien van de gebruikersnaam, datum en de aankomst/vertrektijd.
Omdat het aantal mensen niet altijd het zelfde is (soms 1, op een drukke dag 35), lijkt het mij handig om een aantal rijen toe te kunnen voegen in mijn tabel, voor iedere aanwezige 1 dus.
Nu weet ik dat ik dit kan doen met een "foreach" als ik me niet vergis, waarin ik bij iedere tabelrij een nieuwe SQL uitvoer (wanneer ik op een "save" button druk. Dit lijkt voor mij het makkelijkst.
Nu loop ik vast bij de brug van het "toevoegen van rijen" naar het creëren van een SQL voor iedere rij. Nu kan ik zoals Ariën hiervoor al aangaf een array gebruiken, maar ik snap niet helemaal wat hij bedoelt. Welke tutorial/voorbeeld kan ik hier het best voor gebruiken?
Laten we stapje voor stapje werken, zodat je de kennis gaat begrijpen in plaats van dat je teveel hooi op je vork neemt, en door de array's de bomen niet meer ziet.
Zorg er eerst voor dat je jouw Javascript hebt aangepast zodat de browser de HTML verwerkt tot dit: