Update na kliken op button.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ton Boers

Ton Boers

21/12/2007 19:37:00
Quote Anchor link
Hoe kan ik als ik klik op een button een id update in een rij in een db. Ik weet wel hoe ik hem moet update maar niet als mensen op een button klikken.
Dus de mensen moeten echt eerst op een button klikken.
 
PHP hulp

PHP hulp

21/11/2024 19:50:24
 
W W

W W

21/12/2007 19:47:00
Quote Anchor link
Ten eerste heb je een formpje nodig.

Als je een POST form hebt doe je het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

if($_SERVER['REQUEST_METHOD'] == "POST")
{

       //voer hier je update uit
}
else
{
     //laat knopje zien
}
?>


En als je GET gebruikt krijg je:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

if($_SERVER['REQUEST_METHOD'] == "GET")
{

       //voer hier je update uit
}
else
{
     //laat knopje zien
}
?>
 
Frank -

Frank -

21/12/2007 20:22:00
Quote Anchor link
Compleet scriptje voor MySQL met PDO. Mag je aanpassen aan je eigen behoeftes.
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
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>
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Ton Boers

Ton Boers

21/12/2007 21:17:00
Quote Anchor link
oke bedankt,
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.
 
Joren de Wit

Joren de Wit

21/12/2007 21:18:00
Quote Anchor link
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...
 
Ton Boers

Ton Boers

24/12/2007 20:00:00
Quote Anchor link
Ik heb nuhet volgende:
<form action="wijzig_adv.php" >
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
<?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">
}

?>


Maar dit werkt niet hoe krijg ik het wel werkend?
 
Joren de Wit

Joren de Wit

24/12/2007 20:03:00
Quote Anchor link
Ik zou voor regel 12 nog wel even een echo plaatsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<input type="submit" name="verzenden" value="Wijzig advertentie">';
?>
 
Ton Boers

Ton Boers

24/12/2007 21:33:00
Quote Anchor link
Maar nu wordt er niet geupdate
 
- SanThe -

- SanThe -

24/12/2007 21:37:00
Quote Anchor link
Error?

adverterders => adverteerders ???
 



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.