update met directe weergave

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

DDM

DDM

14/05/2006 16:38:00
Quote Anchor link
hallo

bij het updaten van een veld had ik graag dat het ineens wordt weergegeven zodra je het aantal wijzigd en niet na een tweede reload van de pagina.
Zoals het nu is heb ik het aantal en verander ik het bv van 10 naar 12 en als ik op de buton klik wordt het aantal wel gewijzigd maar je ziet nog 10 staan , het is pas na een reload van de pagina dat het nieuwe aantal zichtbaar wordt , hoe kan dit aangapst worden

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
    <?php
$wagentje
= "SELECT ploegnummer, productnaam, sapnr, aantal, basis_eenheid, bestel_eenheid, inhoud from bestel_wagentje_elek WHERE ploegnummer='". $_SESSION["ploegnummer"] ."'";
$resultaat = mysql_query($wagentje) or die ("FOUT: " . mysql_error());
    if (mysql_num_rows($resultaat) == 0) {
    echo ('<table width= \"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">
    <tr><td>'
);
echo 'U hebt nog geen producten in uw winkelwagentje';
echo ('
</td></tr>'
);
}

else{
?>

<table width="700" border="0" cellpadding="0" cellspacing="1">
<tr>
<th width="76"  bgcolor="#666666"><span class="style1">Sapnummer</span></th>
<th width="139" bgcolor="#666666"><span class="style1">Productnaam</span></th>
<th width="53" bgcolor="#666666"><span class="style1">Aantal</span></th>
<th width="67" bgcolor="#666666"><span class="style1">Basis e.h. </span></th>
<th width="71" bgcolor="#666666"><span class="style1">Bestel e.h. </span></th>
<th width="45" bgcolor="#666666"><span class="style1">Inhoud</span></th>
<th width="137" bgcolor="#666666"><span class="style1">Aantal</span></th>
<th width="103" bgcolor="#666666"><span class="style1">Verwijder</span></th>
</tr>
<?php
while($waarde = mysql_fetch_array($resultaat)) {
echo ('<tr>
<th bgcolor="#999999">'
.$waarde['sapnr'].'</th>
<th bgcolor="#999999" align="left">'
.$waarde['productnaam'].'</th>
<th bgcolor="#999999">'
.$waarde['aantal'].'</th>
<th bgcolor="#999999">'
.$waarde['basis_eenheid'].'</th>
<th bgcolor="#999999">'
.$waarde['bestel_eenheid'].'</th>
<th bgcolor="#999999">'
.$waarde['inhoud'].'</th>
<th bgcolor="#999999">
<form action="'
. $PHP_SELF.'" method="post">
<input type="text" name="aantal" value="'
.$waarde['aantal'].'" size="1" maxlength="2">
<input type="hidden" name="sapnr" value="'
.$waarde['sapnr'].'">
<input type="hidden" name="productnaam" value="'
.$waarde['naam'].'">
<input type="hidden" name="basis_eenheid" value="'
.$waarde['basis_eenheid'].'">
<input type="hidden" name="bestel_eenheid" value="'
.$waarde['bestel_eenheid'].'">
<input type="hidden" name="ploegnummer" value="'
. $_SESSION["ploegnummer"] .'">
<input type="hidden" name="inhoud" value="'
.$waarde['inhoud'].'">
<input type="submit" name="form_van" value="Wijzigen">
</form></th>
<th bgcolor="#999999></th></tr>'
);
}
    if (mysql_num_rows($resultaat) > 0) {

         $update="UPDATE bestel_wagentje_elek SET aantal = '". $aantal ."' ";  
         $update.="WHERE ploegnummer ='". $ploegnummer."' ";  
         $update.="AND sapnr = '".$sapnr."'";  
         $updated = mysql_query($update) or die ("FOUT: " . mysql_error());
}

?>
 
PHP hulp

PHP hulp

16/11/2024 15:44:49
 
Frank -

Frank -

14/05/2006 17:01:00
Quote Anchor link
Waarom update je het veld pas nadat je alle output naar de browser hebt gestuurd? Dat is niet zo handig, dat blijkt nu wel.

Oplossing: Altijd eerst alle logica uitvoeren (controles, queries, etc.) en dan pas de output naar het scherm sturen.

Verder werkt $PHP_SELF natuurlijk niet (zie je html-broncode), dit moet zijn $_SERVER['PHP_SELF']. En echo is geen functie, daar horen dus geen () te worden gebruikt.
 
DDM

DDM

14/05/2006 18:01:00
Quote Anchor link
Waarom ? omdat ik dacht dat het zo goed was want het werkt zo maar niet zoals het moet dus .
Ik ben maar een beginnertje hoor :-)
dus alles moet in het begin komen dan ?
 



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.