Ik heb een text veld en daar geeft de gebruiker aan met hoeveel personen hij/zij wilt komen. En aan de hand van die variabele moet er een lijst met text velden aangemaakt worden. Waarin diegene de naam van iedere persoon in zet.

Maar hoe doe ik dat? Ik ken wel de while loop die je gebruikt bij een sql query om een tabel te vullen. Maar zou niet weten hoe ik dat hierbij moet doen.

Lijkt me dat ik hiervan gebruik moet maken
www.php.net/for

Maar de uitleg daar is minimaal (iig voor mij) en kom er niet echt uit.

Ook moet ieder veld een unieke naam hebben want daarna moeten ze in een database geplaatst worden.

Ik heb het idee, weet alleen niet precies hoe ik het moet uitvoeren :D
Een for-lus is de ingewikkeldste lus die er is... Maar ook de meest functionele (vind ik)...
Deze for-lus betekent het volgende:
variabale $i is 0; totdat $i lager is dan $a; 1 bij $i optellen.

<?php
$a = 10;
for($i = 0; $i < $a; $i++) {
echo 'We zijn nu bij nummer: <b>' .$i. '</b><br />';
}
?>

Met een for-lus kun je dus maken wat jij wilit, door de echo in het voorbeeld te vervangen door een <input tag, en $a door het cijfer wat is ingevuld in het formulier.

<?php
$a = $_POST['wij_komen_met_zoveel_mensen'];
echo '<form action="file.php" method="post">';
for ($i = 0; $i < $a; $i ++) {
echo '<input type="text" name="naam' .$i. '" /><br />';
}
echo '</form>';
?>

Ik hoop dat je er wat aan hebt,
veel succes!


-- edit --
typo
Jip je was me net voor :P
Haha, ik dacht juist dat iemand mij voor was toen ik bezig was met typen :)
OK bedankt, ik ga eens proberen. Meld we wel weer als ik vast loop
En hoe stop ik deze informatie nu zo efficient mogelijk in de database? Zou die for loop kunnen gebruiken. Maar bij 50 personen wordt die query 50x herhaald. Lijkt me niet bevordelijk voor de load op de server.
Hoe heb je de database ingedeeld? Per persoon die komt, of via de persoon die het heeft opgegeven..?
Via de persoon die het heeft opgegeven.

Om precies te zijn.

De 1e pagina moet er een contactpersoon opgegeven worden met alle benodigde gegevens. Dan onderaan die pagina moet diegene opgeven met hoeveel personen hij komt.

Op de volgende pagina worden dan die velden berekend en hij moet hij hier alle namen opgeven.

Eerst wilde we alleen gegevens contactpersoon + aantal. Maar hulpdiensten adviseren om van iedereen de naam te hebben in geval van nood/calamiteiten.
En dan heb ik de database zo ingedeeld misschien stom, ik zou het niet weten.

Een tabel met een auto increment id waar de contactgegevens worden ingevoerd.

Dan een select query om dat id op te vragen (want die moet gemaild worden naar diegen want aan de hand daarvan kunnen we zien of er betaald wordt)

En dan met dat id en de naam worden die gegevens in een 2e tabel gezet waar de namen van de personen in komen te staan.
Dan hoef je de query dus niet 50 keer te herhalen, maar alleen de personen die meekomen in de query te zetten.

<?php
$sql = "INSERT INTO tabel (veld1, veld2, gasten) ";
$sql .= "VALUES ";
$sql .= "('waarde1', 'waarde2', '";

$a = $_POST['aantal_mensen'];
for ($i = 0; $i < $a; $i++) {
$sql .= $sql. $persoon[$i]. "', '";
}
?>
Maar de namen krijgen niet ieder een eigen veld. Maar een eigen rij. Dus iets als dit

id | Naampers
1 | jantje
1 | Pietje
1 | klaasje


En dan met een select query kan ik iedereen met id 1 opvragen. Dit omdat mensen wijzigingen kunnen doorgeven. En dat ze dan aangepast kunnen worden.

Reageren