ik heb een 15 rijen met 2 input in mijn html, deze word geladen dmv AJAX welke een php aanroept met mysql.
Ik krijg de inputs dus gepresenteerd met een verborgen id zoals onderstaand voorbeeld
nu wil ik de records updaten maar tegelijk dmv submit, dit betekend dat de id gelijk is aan id in de databse
Zelf denk ik dat er een loop gemaakt moet worden? Ben nog niet heel goed thuis in MySQL. (1 record per keer lukt wel).
Vraag me toch af in welk geval je gebruikersinformatie in bulk wilt bijwerken?
Anyhow, als je nu firstname, lastname en id eens aanpast naar firstname[], lastname[] en id[] dan kun je in 1x het hele formulier serialiseren zonder allerlei bewerkingen te doen op je formulierdata. De informatie wordt dan in arrays gestopt en kun je met een (redelijk) simpele loop alle data aflopen er per record wegschrijven.
Om de werking van deze opzet verder te bekijken is het misschien een idee om het AJAX-deel in eerste instantie weg te laten, en de inhoud van $_POST te dumpen met wat (hulp)functies zodat je een goed beeld hebt van deze arraystructuur.
ik geef de waarde terug zodat ik kan zien wat de output tot nu is als ik een array kan krijgen met de meerdere waardes kan ik deze verder gebruiken in het script
Dan klopt er waarschijnlijk niet al teveel van de HTML van het formulier. <input>s die buiten de <form> tags vallen enzo? En als je dat met AJAX doet, hoe serialiseer je dat dan? Laat eens wat relevante code zien?
@Bryan, in een andere thread die jij had gestart heb ik hier ook al uitgebreid antwoord op gegeven? De aanpak is nagenoeg hetzelfde...
serialize kan ik niet gebruiken aangezien ik in Wordpress werk, maar heb een loop gemaakt waardoor ik de informatie in een array binnen krijg
Hier een stuk van de code:
HTML
serialize kan ik niet gebruiken aangezien ik in Wordpress werk
Ik bedoel de serialize() in jQuery, dit staat verder los van WordPress.
Waarschijnlijk kom je met een array-naamgeving wel een eind? Dus firstname[], lastname[] etc. Je zou zelfs het id daar in kunnen vullen, dan heb je dat hidden veld niet meer nodig, dus firstname[3] en lastname[3] voor id 3. Ik zou de classname ook gewoon "rij" houden, in plaats van "rij1", "rij2", etc.
EDIT Daarnaast, is deze hele constructie wel gewenst? In wat voor gevallen verwerk je dit soort gegevens in bulk? Vaak heb je een soort van (readonly) overzichtspagina en als je dan iets wilt wijzigen ga je naar een detailpagina waar je meestal één record... in details... ziet en in afzondering kunt wijzigen.
--
@Adoptive print_r() kun je ook retourneren als string, dus je zou zoiets kunnen doen:
Je zou dit ook een functie kunnen stoppen. En voor de goede orde nog even kunnen escapen in de HTML-context, want je geeft dit meestal in een HTML-document weer. Je zou dan tot de volgende twee handige functies kunnen komen voor debugging:
<?php
// shorthand voor het escapen in de HTML-context
function escape($in) {
return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}
// voor het veilig dumpen van allerhande data in de HTML-context
function dump($in) {
if (is_array($in)) {
$in = print_r($in, true);
}
echo '<pre>'.escape($in).'</pre>';
}
?>