Update na kliken op button.
Dus de mensen moeten echt eerst op een button klikken.
Als je een POST form hebt doe je het volgende:
Code (php)
En als je GET gebruikt krijg je:
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
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
<?php
ini_set('display_errors' , 1);
error_reporting(E_ALL);
define('DEBUG', true);
$dbServer = 'localhost';
$dbDatabase = 'test';
$dbUser = '***';
$dbPassword = '***';
$aMessages = array();
$aErrors = array();
// Start database connection
try {
$db = new PDO('mysql:host='.$dbServer.';dbname='.$dbDatabase, $dbUser, $dbPassword,
array(
PDO::ATTR_PERSISTENT => true
));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->query("SET SESSION sql_mode = 'ANSI';");
} catch (PDOException $e){
if (DEBUG) {
die('Fout: '.$e->getMessage());
}
else {
$aErrors[] = 'Applicatie niet beschikbaar.';
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
$query = "UPDATE tabelnaam SET kolomnaam = 'blablabla' WHERE id = :id";
$stmt = $db->prepare($query);
$stmt->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
$stmt->execute();
if ($stmt->rowCount() > 0) {
$aMessages[] = 'Record bijgewerkt.';
}
else {
$aMessages[] = 'Geen record bijgewerkt.';
}
} catch (PDOException $e){
if (DEBUG) {
$aErrors[] = $e->getMessage();
}
else {
$aErrors[] = 'Applicatie niet beschikbaar.';
}
}
}
$db = null;
foreach ($aErrors as $error) {
echo $error.'<br />'.PHP_EOL;
}
foreach ($aMessages as $message) {
echo $message.'<br />'.PHP_EOL;
}
?>
<form method="post" action="">
Blablabla
<input type="hidden" name="id" value="5" size="10" />
<button type="submit">Opslaan</button>
</form>
<form method="post" action="">
Blablabla
<input type="hidden" name="id" value="2" size="10" />
<button type="submit">Opslaan</button>
</form>
ini_set('display_errors' , 1);
error_reporting(E_ALL);
define('DEBUG', true);
$dbServer = 'localhost';
$dbDatabase = 'test';
$dbUser = '***';
$dbPassword = '***';
$aMessages = array();
$aErrors = array();
// Start database connection
try {
$db = new PDO('mysql:host='.$dbServer.';dbname='.$dbDatabase, $dbUser, $dbPassword,
array(
PDO::ATTR_PERSISTENT => true
));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->query("SET SESSION sql_mode = 'ANSI';");
} catch (PDOException $e){
if (DEBUG) {
die('Fout: '.$e->getMessage());
}
else {
$aErrors[] = 'Applicatie niet beschikbaar.';
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
$query = "UPDATE tabelnaam SET kolomnaam = 'blablabla' WHERE id = :id";
$stmt = $db->prepare($query);
$stmt->bindParam(':id', $_POST['id'], PDO::PARAM_INT);
$stmt->execute();
if ($stmt->rowCount() > 0) {
$aMessages[] = 'Record bijgewerkt.';
}
else {
$aMessages[] = 'Geen record bijgewerkt.';
}
} catch (PDOException $e){
if (DEBUG) {
$aErrors[] = $e->getMessage();
}
else {
$aErrors[] = 'Applicatie niet beschikbaar.';
}
}
}
$db = null;
foreach ($aErrors as $error) {
echo $error.'<br />'.PHP_EOL;
}
foreach ($aMessages as $message) {
echo $message.'<br />'.PHP_EOL;
}
?>
<form method="post" action="">
Blablabla
<input type="hidden" name="id" value="5" size="10" />
<button type="submit">Opslaan</button>
</form>
<form method="post" action="">
Blablabla
<input type="hidden" name="id" value="2" size="10" />
<button type="submit">Opslaan</button>
</form>
Gewijzigd op 01/01/1970 01:00:00 door Frank -
ik ga is even uit proberen.
Ik gebruik het voor een advertentie systeem, de adverteerders kunnen hun advertentie bekijken en wijzigen, als ze op wijzigen klikken laat ik de update uitvoeren.
Dat is lijkt me gewoon hetzelfde als het invoegen van een nieuwe advertentie, alleen voer je nu in plaats van een insert query een update query uit...
<form action="wijzig_adv.php" >
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$query = "UPDATE adverterders SET adv='5' WHERE klantnummer=90000";
mysql_query($query) or die (mysql_error());
}
else
{
<input type="submit" name="verzenden" value="Wijzig advertentie">
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$query = "UPDATE adverterders SET adv='5' WHERE klantnummer=90000";
mysql_query($query) or die (mysql_error());
}
else
{
<input type="submit" name="verzenden" value="Wijzig advertentie">
}
?>
Maar dit werkt niet hoe krijg ik het wel werkend?
Maar nu wordt er niet geupdate
adverterders => adverteerders ???