aan de hand van opgegeven getal aantal text velden weergeven
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
Deze for-lus betekent het volgende:
variabale $i is 0; totdat $i lager is dan $a; 1 bij $i optellen.
Code (php)
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.
Code (php)
Ik hoop dat je er wat aan hebt,
veel succes!
-- edit --
typo
Gewijzigd op 17/01/2006 17:38:00 door Eric Cartman
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..?
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.
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?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]. "', '";
}
?>
$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]. "', '";
}
?>
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.
Dus je hebt drie dezelfde rijen, die allemaal 1 heten..?
Maar ik laat hem nu iedere een nieuwe regel in de database toevoegen. Werkt goed. Wil alleen nu controleren of alle velden zijn ingevuld.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (isset($_POST["submit"])) {
echo '<div class="ok">';
if (empty($_POST["scoutingnaam"])) { echo "Je hebt de naam van je scoutingvereniging niet ingevuld!<br>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</div><br>";
}
$a = $_POST['aantpers'];
for ($i = 0; $i < $a; $i ++) {
elseif (empty($_POST["persoonnaam$i"])) { echo "Je hebt niet alle namen van je groep opgegeven!<br>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</div><br>";
}
}
else {
echo '<div class="ok">';
if (empty($_POST["scoutingnaam"])) { echo "Je hebt de naam van je scoutingvereniging niet ingevuld!<br>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</div><br>";
}
$a = $_POST['aantpers'];
for ($i = 0; $i < $a; $i ++) {
elseif (empty($_POST["persoonnaam$i"])) { echo "Je hebt niet alle namen van je groep opgegeven!<br>
Klik <a href=\"javascript:history.back(1)\">hier</a> om terug tegaan.</div><br>";
}
}
else {
Eerst een if statement, dan een elseif in die for statement
Daarna een else statement waarna de code wordt uitgevoerd als alle gegevens kloppen.
Zonder die for statement werkt het. Maar nu krijg ik de volgende error.
Parse error: parse error, unexpected T_ELSEIF