Inputveld in een while-loop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pim B

Pim B

14/02/2011 15:27:18
Quote Anchor link
Hoi,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']."'");
    }
}

?>

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?
 
PHP hulp

PHP hulp

28/01/2022 13:45:21
 
Joren de Wit

Joren de Wit

14/02/2011 15:31:01
Quote Anchor link
Begin je <form> voordat je met je while loop begint. Alle inputvelden voor ontbrekende data geef je allemaal dezelfde array als naam, waarbij je het id van betreffend record als key aan die array meegeeft:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<input type="text" name="datum['.$id.']" />';
?>

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...
 
Pim B

Pim B

14/02/2011 16:54:51
Quote Anchor link
Ja, het is gelukt! Bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.