Inputveld in een while-loop
Ik heb een lijst personen met oa naam en bepaalde data uit de database gehaald.
Nog niet alle data zijn ingevuld. Als een datum nog niet is ingevuld moet er een input-text-veld komen te staan. Als ik in dat inputveld iets invoer, moet dat in de database en dus ook in de lijst komen te staan. Dit zijn de relevante functies.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
function lijst()
{
echo "<table>
<tr><th>Naam</th>
<th align='center'>Inschrijfformulier verzonden</th>
<th align='center'>Inschrijfformulier terugontvangen</th>
<th align='center'>Betaald</th>
<th align='center'>Datum betaald</th></tr>";
$query = mysql_query("SELECT * FROM betalingslijst");
while($row = mysql_fetch_assoc($query))
{
$id = $row['id'];
$naam = $row['naam'];
$verzonden = $row['verzonden'];
$ontvangen = $row['ontvangen'];
$betaald = $row['betaald'];
$datum = $row['datum'];
<td width='120px'>".$naam."</td>
<td width='100px' align='center'>".$verzonden."</td>
<td width='100px' align='center'>".$ontvangen."</td>
<td width='60px' align='center'></td>
<td width='60px' align='center'>
<form action='' method='post'><input type='text' name='db' size='1' maxlength='6' /></td></tr>";
}
echo "</table>
<table><tr><td><input type='submit' name='submit_db' value='Voeg datum toe' /></td></tr></table></form>";
}
function datumbetaald()
{
if(isset($_POST['submit_db']))
{
mysql_query("UPDATE betalingslijst SET datum = '".$_POST['db']."'");
}
}
?>
function lijst()
{
echo "<table>
<tr><th>Naam</th>
<th align='center'>Inschrijfformulier verzonden</th>
<th align='center'>Inschrijfformulier terugontvangen</th>
<th align='center'>Betaald</th>
<th align='center'>Datum betaald</th></tr>";
$query = mysql_query("SELECT * FROM betalingslijst");
while($row = mysql_fetch_assoc($query))
{
$id = $row['id'];
$naam = $row['naam'];
$verzonden = $row['verzonden'];
$ontvangen = $row['ontvangen'];
$betaald = $row['betaald'];
$datum = $row['datum'];
<td width='120px'>".$naam."</td>
<td width='100px' align='center'>".$verzonden."</td>
<td width='100px' align='center'>".$ontvangen."</td>
<td width='60px' align='center'></td>
<td width='60px' align='center'>
<form action='' method='post'><input type='text' name='db' size='1' maxlength='6' /></td></tr>";
}
echo "</table>
<table><tr><td><input type='submit' name='submit_db' value='Voeg datum toe' /></td></tr></table></form>";
}
function datumbetaald()
{
if(isset($_POST['submit_db']))
{
mysql_query("UPDATE betalingslijst SET datum = '".$_POST['db']."'");
}
}
?>
Het probleem is dus dat de server niet weet welke record hij moet wijzigen omdat ik geen id meegeef. Want ik zit immers in een while-loop.
Kan ik in mijn lijst in een inputveld ook $id meegeven? Of moet ik dit anders oplossen?
Na verzenden van het formulier vind je nu de array $_POST['datum'] waarin alle nieuwe data staan met het bijbehorende record id in de key...
Ja, het is gelukt! Bedankt!