mysql entry aanpassen
edit.php
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
$host="localhost";
$username="iets";
$password="iets";
$db_name="iets";
$tbl_name="register";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$id=$_GET['id'];
$sql="SELECT * FROM $tbl_name WHERE volgnummer='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<center>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Bedrijf</strong></span></td>
<td align="center"><span style="color:black"><strong>Contactpersoon</strong></span></td>
<td align="center"><span style="color:black"><strong>Adres</strong></span></td>
<td align="center"><span style="color:black"><strong>Postcode/plaats</strong></span></td>
<td align="center"><span style="color:black"><strong>Tel. NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>Email</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="bedrijf" type="text" id="bedrijf" value="<?php echo $rows['bedrijf']; ?>" size="15"></td>
<td align="center"><input name="contactpersoon" type="text" id="contactpersoon" value="<?php echo $rows['contactpersoon']; ?>" size="15"></td>
<td align="center"><input name="adres" type="text" id="adres" value="<?php echo $rows['adres']; ?>" size="15"></td>
<td align="center"><input name="postcodeplaats" type="text" id="postcodeplaats" value="<?php echo $rows['postcodeplaats']; ?>" size="15"></td>
<td align="center"><input name="telefoonnummer" type="text" id="telefoonnummer" value="<?php echo $rows['telefoonnummer']; ?>" size="15"></td>
<td align="center"><input name="email" type="text" id="email" value="<?php echo $rows['email']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Branche</strong></span></td>
<td align="center"><span style="color:black"><strong>KVK-NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>BTW-NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>Artikelen</strong></span></td>
<td align="center"><span style="color:black"><strong>Kramen</strong></span></td>
<td align="center"><span style="color:black"><strong>Zeilen</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="branche" type="text" id="branche" value="<?php echo $rows['branche']; ?>" size="15"></td>
<td align="center"><input name="kvknummer" type="text" id="kvknummer" value="<?php echo $rows['kvknummer']; ?>" size="15"></td>
<td align="center"><input name="btwnummer" type="btwnummer" id="btwnummer" value="<?php echo $rows['btwnummer']; ?>" size="15"></td>
<td align="center"><input name="teverkopen" type="text" id="teverkopen" value="<?php echo $rows['teverkopen']; ?>" size="15"></td>
<td align="center"><input name="aantalkramen" type="text" id="aantalkramen" value="<?php echo $rows['aantalkramen']; ?>" size="15"></td>
<td align="center"><input name="dekzeilen" type="text" id="dekzeilen" value="<?php echo $rows['dekzeilen']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Balken</strong></span></td>
<td align="center"><span style="color:black"><strong>Planken</strong></span></td>
<td align="center"><span style="color:black"><strong>Schragen</strong></span></td>
<td align="center"><span style="color:black"><strong>Grondplaatsen</strong></span></td>
<td align="center"><span style="color:black"><strong>Elektriciteit</strong></span></td>
<td align="center"><span style="color:black"><strong>Krachtstroom</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="balken" type="text" id="balken" value="<?php echo $rows['balken']; ?>" size="15"></td>
<td align="center"><input name="planken" type="text" id="planken" value="<?php echo $rows['planken']; ?>" size="15"></td>
<td align="center"><input name="schragen" type="text" id="schragen" value="<?php echo $rows['schragen']; ?>" size="15"></td>
<td align="center"><input name="grondplaats" type="grondplaats" id="grondplaats" value="<?php echo $rows['grondplaats']; ?>" size="15"></td>
<td align="center"><input name="elektriciteit" type="elektriciteit" id="elektriciteit" value="<?php echo $rows['elektriciteit']; ?>" size="15"></td>
<td align="center"><input name="krachtelek" type="text" id="krachtelek" value="<?php echo $rows['krachtelek']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Hoeveelheid</strong></span></td>
<td align="center"><span style="color:black"><strong>Reden</strong></span></td>
<td align="center"><span style="color:black"><strong>Overig</strong></span></td>
<td align="center"><span style="color:black"><strong>Pleknummers</strong></span></td>
<td align="center"><span style="color:black"><strong>Totaal kosten</strong></span></td>
<td align="center"><span style="color:black"><strong>Betaald</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="hoeveelelek" type="text" id="hoeveelelek" value="<?php echo $rows['hoeveelelek']; ?>" size="15"></td>
<td align="center"><input name="waarvoorelek" type="text" id="waarvoorelek" value="<?php echo $rows['waarvoorelek']; ?>" size="15"></td>
<td align="center"><input name="overig" type="text" id="overig" value="<?php echo $rows['overig']; ?>" size="15"></td>
<td align="center"><input name="pleknummer" type="text" id="pleknummer" value="<?php echo $rows['pleknummer']; ?>" size="15"></td>
<td align="center"><input name="totaalkosten" type="text" id="totaalkosten" value="<?php echo $rows['totaalkosten']; ?>" size="15"></td>
<?php
if ($rows['betaald'] == 1) {
$checked = 'checked="checked"';
$payed = '1';
}
else { $payed = '0'; }
?>
<td><center><input name="betaald" type="checkbox" id="betaald" <?php if (isset($checked)) { echo $checked; } ?> value="<?php echo $payed; ?>"></center></td>
</tr>
<tr>
<td> </td>
<td><input name="volgnummer" type="hidden" id="volgnummer" value="<?php echo $rows['volgnummer']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Bijwerken" size="15"></td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</center>
<?
mysql_close();
?>
$host="localhost";
$username="iets";
$password="iets";
$db_name="iets";
$tbl_name="register";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$id=$_GET['id'];
$sql="SELECT * FROM $tbl_name WHERE volgnummer='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<center>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Bedrijf</strong></span></td>
<td align="center"><span style="color:black"><strong>Contactpersoon</strong></span></td>
<td align="center"><span style="color:black"><strong>Adres</strong></span></td>
<td align="center"><span style="color:black"><strong>Postcode/plaats</strong></span></td>
<td align="center"><span style="color:black"><strong>Tel. NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>Email</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="bedrijf" type="text" id="bedrijf" value="<?php echo $rows['bedrijf']; ?>" size="15"></td>
<td align="center"><input name="contactpersoon" type="text" id="contactpersoon" value="<?php echo $rows['contactpersoon']; ?>" size="15"></td>
<td align="center"><input name="adres" type="text" id="adres" value="<?php echo $rows['adres']; ?>" size="15"></td>
<td align="center"><input name="postcodeplaats" type="text" id="postcodeplaats" value="<?php echo $rows['postcodeplaats']; ?>" size="15"></td>
<td align="center"><input name="telefoonnummer" type="text" id="telefoonnummer" value="<?php echo $rows['telefoonnummer']; ?>" size="15"></td>
<td align="center"><input name="email" type="text" id="email" value="<?php echo $rows['email']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Branche</strong></span></td>
<td align="center"><span style="color:black"><strong>KVK-NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>BTW-NR.</strong></span></td>
<td align="center"><span style="color:black"><strong>Artikelen</strong></span></td>
<td align="center"><span style="color:black"><strong>Kramen</strong></span></td>
<td align="center"><span style="color:black"><strong>Zeilen</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="branche" type="text" id="branche" value="<?php echo $rows['branche']; ?>" size="15"></td>
<td align="center"><input name="kvknummer" type="text" id="kvknummer" value="<?php echo $rows['kvknummer']; ?>" size="15"></td>
<td align="center"><input name="btwnummer" type="btwnummer" id="btwnummer" value="<?php echo $rows['btwnummer']; ?>" size="15"></td>
<td align="center"><input name="teverkopen" type="text" id="teverkopen" value="<?php echo $rows['teverkopen']; ?>" size="15"></td>
<td align="center"><input name="aantalkramen" type="text" id="aantalkramen" value="<?php echo $rows['aantalkramen']; ?>" size="15"></td>
<td align="center"><input name="dekzeilen" type="text" id="dekzeilen" value="<?php echo $rows['dekzeilen']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Balken</strong></span></td>
<td align="center"><span style="color:black"><strong>Planken</strong></span></td>
<td align="center"><span style="color:black"><strong>Schragen</strong></span></td>
<td align="center"><span style="color:black"><strong>Grondplaatsen</strong></span></td>
<td align="center"><span style="color:black"><strong>Elektriciteit</strong></span></td>
<td align="center"><span style="color:black"><strong>Krachtstroom</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="balken" type="text" id="balken" value="<?php echo $rows['balken']; ?>" size="15"></td>
<td align="center"><input name="planken" type="text" id="planken" value="<?php echo $rows['planken']; ?>" size="15"></td>
<td align="center"><input name="schragen" type="text" id="schragen" value="<?php echo $rows['schragen']; ?>" size="15"></td>
<td align="center"><input name="grondplaats" type="grondplaats" id="grondplaats" value="<?php echo $rows['grondplaats']; ?>" size="15"></td>
<td align="center"><input name="elektriciteit" type="elektriciteit" id="elektriciteit" value="<?php echo $rows['elektriciteit']; ?>" size="15"></td>
<td align="center"><input name="krachtelek" type="text" id="krachtelek" value="<?php echo $rows['krachtelek']; ?>" size="15"></td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><span style="color:black"><strong>Hoeveelheid</strong></span></td>
<td align="center"><span style="color:black"><strong>Reden</strong></span></td>
<td align="center"><span style="color:black"><strong>Overig</strong></span></td>
<td align="center"><span style="color:black"><strong>Pleknummers</strong></span></td>
<td align="center"><span style="color:black"><strong>Totaal kosten</strong></span></td>
<td align="center"><span style="color:black"><strong>Betaald</strong></span></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="hoeveelelek" type="text" id="hoeveelelek" value="<?php echo $rows['hoeveelelek']; ?>" size="15"></td>
<td align="center"><input name="waarvoorelek" type="text" id="waarvoorelek" value="<?php echo $rows['waarvoorelek']; ?>" size="15"></td>
<td align="center"><input name="overig" type="text" id="overig" value="<?php echo $rows['overig']; ?>" size="15"></td>
<td align="center"><input name="pleknummer" type="text" id="pleknummer" value="<?php echo $rows['pleknummer']; ?>" size="15"></td>
<td align="center"><input name="totaalkosten" type="text" id="totaalkosten" value="<?php echo $rows['totaalkosten']; ?>" size="15"></td>
<?php
if ($rows['betaald'] == 1) {
$checked = 'checked="checked"';
$payed = '1';
}
else { $payed = '0'; }
?>
<td><center><input name="betaald" type="checkbox" id="betaald" <?php if (isset($checked)) { echo $checked; } ?> value="<?php echo $payed; ?>"></center></td>
</tr>
<tr>
<td> </td>
<td><input name="volgnummer" type="hidden" id="volgnummer" value="<?php echo $rows['volgnummer']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Bijwerken" size="15"></td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</center>
<?
mysql_close();
?>
update_ac.php
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
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
<?php
$host="localhost"; // Host name
$username="iets"; // Mysql username
$password="iets"; // Mysql password
$db_name="iets"; // Database name
$tbl_name="register"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// update data in mysql database
$sql="UPDATE $tbl_name SET (bedrijf, contactpersoon, adres, postcodeplaats, telefoonnummer, email, branche, kvknummer, btwnummer, teverkopen, aantalkramen, dekzeilen, balken, planken, schragen, grondplaats, elektriciteit, krachtelek, hoeveelelek, waarvoorelek, overig, pleknummer, totaalkosten, betaald) VALUES ('$_POST[bedrijf]','$_POST[contactpersoon]','$_POST[adres]','$_POST[postcodeplaats]','$_POST[telefoonnummer]','$_POST[email]','$_POST[branche]','$_POST[kvknummer]','$_POST[btwnummer]','$_POST[teverkopen]','$_POST[aantalkramen]','$_POST[dekzeilen]','$_POST[balken]','$_POST[planken]','$_POST[schragen]','$_POST[grondplaats]','$_POST[elektriciteit]','$_POST[krachtelek]','$_POST[hoeveelelek]','$_POST[waarvoorelek]','$_POST[overig]','$_POST[pleknummer]','$_POST[totaalkosten]','$_POST[payed]')";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='list_records.php'>View result</a>";
}
else {
echo "ERROR";
}
?>
$host="localhost"; // Host name
$username="iets"; // Mysql username
$password="iets"; // Mysql password
$db_name="iets"; // Database name
$tbl_name="register"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// update data in mysql database
$sql="UPDATE $tbl_name SET (bedrijf, contactpersoon, adres, postcodeplaats, telefoonnummer, email, branche, kvknummer, btwnummer, teverkopen, aantalkramen, dekzeilen, balken, planken, schragen, grondplaats, elektriciteit, krachtelek, hoeveelelek, waarvoorelek, overig, pleknummer, totaalkosten, betaald) VALUES ('$_POST[bedrijf]','$_POST[contactpersoon]','$_POST[adres]','$_POST[postcodeplaats]','$_POST[telefoonnummer]','$_POST[email]','$_POST[branche]','$_POST[kvknummer]','$_POST[btwnummer]','$_POST[teverkopen]','$_POST[aantalkramen]','$_POST[dekzeilen]','$_POST[balken]','$_POST[planken]','$_POST[schragen]','$_POST[grondplaats]','$_POST[elektriciteit]','$_POST[krachtelek]','$_POST[hoeveelelek]','$_POST[waarvoorelek]','$_POST[overig]','$_POST[pleknummer]','$_POST[totaalkosten]','$_POST[payed]')";
$result=mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='list_records.php'>View result</a>";
}
else {
echo "ERROR";
}
?>
Errors zijn er niet voor de sier. Het kan helpen als je ook nog zegt wát voor error je krijgt...
ik krijg geen specefieke error, er is een echo die error vermeld
Je mist een WHERE.
Meestal doe je dat via een ID.
Dat ID gebruik je wel op je spullen op te halen, maar moet je ook doorgeven aan update_ac.php zodat hij weet welke rij hij moet bijwerken.
Daarnaast zou ik update_ac_.php zo maken:
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
39
40
41
42
43
44
45
46
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
<?php
// include de verbinding
// maakt $mysql_link beschikbaar als link-identificator
include ("inc/connectie.php");
// maak dynamisch het SET-gedeelte
// kolom1 = 'waarde1'
foreach($_POST as $key => $val)
{
$set[] = mysql_real_escape_string($key) . " = '" . mysql_real_escape_string($val) . "'";
}
// gooi alle set-velden aan elkar met een komma
// kolom1 = 'waarde1', kolom2 = 'waarde2' ...
$set = implode(", ", $set);
// kijk of er een ID is opgegeven
if(!isset($_GET['id']) OR !is_numeric($_GET['id']) OR $_GET['id'] == 0)
{
echo '<p>Fout<br>
Er is geen ID bekend.</p>';
}
// update data in mysql database
$query = " UPDATE register
SET " . $set . "
WHERE id = " . intval($_GET['id']) . "
LIMIT 1";
// toon de query even (via broncode te zien)
echo '<!-- QUERY --' . PHP_EOL . $query . PHP_EOL . '-->';
// voer de query uit
$result = mysql_query($query, $mysql_link);
// als dit opslaan lukte en er 1 rij gewijzigd is...
if($result !== false AND mysql_affected_rows($mysql_link) == 1)
{
echo '<p>Successful<br>
<a href="list_records.php">View result</a></p>';
}
else
{
echo '<p>Fout<br>
De query <b>' . $query . '</b> is niet gelukt: <b>' . mysql_error($mysql_link) . '</b>.</p>';
}
?>
// include de verbinding
// maakt $mysql_link beschikbaar als link-identificator
include ("inc/connectie.php");
// maak dynamisch het SET-gedeelte
// kolom1 = 'waarde1'
foreach($_POST as $key => $val)
{
$set[] = mysql_real_escape_string($key) . " = '" . mysql_real_escape_string($val) . "'";
}
// gooi alle set-velden aan elkar met een komma
// kolom1 = 'waarde1', kolom2 = 'waarde2' ...
$set = implode(", ", $set);
// kijk of er een ID is opgegeven
if(!isset($_GET['id']) OR !is_numeric($_GET['id']) OR $_GET['id'] == 0)
{
echo '<p>Fout<br>
Er is geen ID bekend.</p>';
}
// update data in mysql database
$query = " UPDATE register
SET " . $set . "
WHERE id = " . intval($_GET['id']) . "
LIMIT 1";
// toon de query even (via broncode te zien)
echo '<!-- QUERY --' . PHP_EOL . $query . PHP_EOL . '-->';
// voer de query uit
$result = mysql_query($query, $mysql_link);
// als dit opslaan lukte en er 1 rij gewijzigd is...
if($result !== false AND mysql_affected_rows($mysql_link) == 1)
{
echo '<p>Successful<br>
<a href="list_records.php">View result</a></p>';
}
else
{
echo '<p>Fout<br>
De query <b>' . $query . '</b> is niet gelukt: <b>' . mysql_error($mysql_link) . '</b>.</p>';
}
?>
Dus:
1) Dynamische opbouw van de set. Kortere code, overzichtelijker. Wat niet ingevuld is, wordt overgeslagen. Verwijderen gaat dus hier NIET mee (maar wellicht is dat ook wel gewenst???)
2) Je input wordt beveiligd...
3) Je kan niets missen
4) Je ID dat je meegeeft (let op: via $_GET !!!) wordt gebruikt
5) Je krijgt correcte HTML te zien bij succes of fouten
6) Bij fouten krijg je ook de query + foutmelding te zien (voor debuggen handig, als het eenmaal af is zou je dat moeten verbergen voor gewone gebruikers
7) Er wordt niet alleen gekeken of de query lukte, maar ook of er maar 1 rij is bijgewerkt (als dat 0 is, werk het dus niet)
8) Ik gebruik " voor de query en ' voor HTML, zodat je in de HTML ook gewoon " kan gebruiken. Dat is een algemene en bekende werkwijze.
9) Ik include de database-verbinding. Dan hoef je maar op 1 locatie je gegevens te tonen
10) Ik controleer op het ID of het er is, geldig is en meer is dan 0 (want dat is een ID altijd)
inc/connectie.php
Toevoeging op 05/03/2013 13:38:22:
Rik Oudega op 05/03/2013 13:30:23:
ik krijg geen specefieke error, er is een echo die error vermeld
En dus geeft je mysql_query() false terug. Gelukkig wel.
Gewijzigd op 05/03/2013 13:36:18 door Eddy E
Dank voor deze uitleg.
Leerzaam!
Helemaal eens met Pieter! Bedank Eddy!