Ik wilde de onderstaande gegevens opslaan in mijn database:


<input id="618" type="text" name="titelnaam[]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" id="618" name="titelfunctie[]" value="" placeholder="Functie" class="form-control" style="width:200px;">

<input id="619" type="text" name="titelnaam[]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" id="619" name="titelfunctie[]" value="" placeholder="Functie" class="form-control" style="width:200px;">

<input id="620" type="text" name="titelnaam[]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" id="620" name="titelfunctie[]" value="" placeholder="Functie" class="form-control" style="width:200px;">


Mijn database omvat een ID-, naam- en functie-veld.
Omdat de pagina dynamisch is, en er ook nieuwe velden kunnen worden aangemaakt wil ik alles wat op een bepaald moment op de pagina staat saven via een array.
Maar... hoe?

Hoe lees ik dit uit?

Iets als: if (isset($_POST['titelnaam'])) {
Maarja... hoe krijg ik het dan bij het juiste ID gesaved?
Het handigste is om de id-nummers tussen de brackets in je HTML te plaatsen. Dan heb je meteen een goede key aan je array.
Waarom is de pagina dynamisch? Is er een noodzaak om alles tegelijkertijd te kunnen editen? Deel het anders op in een lijst, een add-formulier en een edit-formulier (en een delete-knop met bevestiging), waarbij je bij het toevoegen en wijzigen slechts één item per keer behandelt?

Ik neem aan dat je dit alles niet letterlijk opslaat als array?
Ik snap niet helemaal wat je bedoelt met de brackets in de HTML, proberen te zoeken...
Heb je een voorbeeldje?
Waarom gebruik je geen primary key, auto increment voor ids?
Brackets zijn de vierkante haakjes: [ ]
Als je daar nou je ID tussenzet, dan hebben die array elementen meteen een key die als identificatie kan dienen.

Jasper Schellekens op 28/02/2018 13:33:42

Waarom gebruik je geen primary key, auto increment voor ids?

Eh, hoe kom je daarbij? Ik zie de ID's wel verder netjes oplopen, wat nog niet zegt of hij wel of niet een PK en auto_increment gebruikt.
- Ariën - op 28/02/2018 13:36:23

Brackets zijn de vierkante haakjes: [ ]
Als je daar nou je ID tussenzet, dan hebben die array elementen meteen een key die als identificatie kan dienen.

[quote="Jasper Schellekens op 28/02/2018 13:33:42"]
Waarom gebruik je geen primary key, auto increment voor ids?

Eh, hoe kom je daarbij? Ik zie de ID's wel verder netjes oplopen, wat nog niet zegt of hij wel of niet een PK en auto_increment gebruikt.
[/quote]

Topic starter had het over opslaan in database. Ik dacht dat hij elk veld handmatig genummerd heeft. Als je werkelijk 600 tabellen aan hebt gemaakt... liever hij als ik.
Ik heb geen idee hoe je op die tabellen uitkomt, en waar je leest dat er ID's handmatig worden aangemaakt :-P
Met die velden die hij bedoelt zal hij hopelijk formuliervelden bedoelen, en geen databasevelden.

Misschien kan Daan wat meer vertellen over zijn opzet?
De ID's zijn auto increment. Was slechts een voorbeeldje...

Ik heb nu het volgende (met voorbeeldID's:


<input type="text" name="titelnaam[618]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" name="titelfunctie[618]" value="" placeholder="Functie" class="form-control" style="width:200px;">

<input type="text" name="titelnaam[619]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" name="titelfunctie[619]" value="" placeholder="Functie" class="form-control" style="width:200px;">

<input type="text" name="titelnaam[620]" value="" placeholder="Naam" class="form-control" style="width:200px;">
<input type="text" name="titelfunctie[620]" value="" placeholder="Functie" class="form-control" style="width:200px;">


Hoe stuur ik dan de array netjes weg met jquery? Ik heb even gegoogeld, maar kwam er niet uit...
De pagina update.php moet het gaan aanpassen in de database.
Hoe ziet de opzet van je formulier eruit?
Alles in een keer, of per item opslaan via een AJAX-request?
Alles in een keer....
De opzet is precies zoals hierboven....

Ik werk blur:


    <script>
$(document).ready(function(){
    $("input").blur(function(){
        alert("This input field has lost its focus.");
    });
});
</script>


In plaats van alert, moet alles weggestuurd worden naar update.php

Reageren