Beste mensen,
Ik zou blij zijn of iemand mij kan helpen met het volgende probleem. Ik heb een database KlantTest aangemaakt met een tabel Klant die uit vier kolommmnen bestaat, t.w. klantnummer, voornaam, achternaam en voorraad. Als ik een update doe dan worden de laatste drie kolommen keurig netjes geupdate, maar update ik alleen een kolom, bijvoorbeeld de kolom voorraad, dan worden de kolommen voornaam en achternaam leeg gemaakt. En dit is juist het probleem waartegen ik aanloop. Hieronder zie je de code die ik heb geschreven:
<html>
<body style="background-color: lightyellow">
<?php
try{
$db = new PDO("mysql:host=localhost;dbname=KlantTest","test", "test");
$klantnummer=$_POST["klantnummer"];
$voornaam=$_POST["voornaam"];
$achternaam = $_POST["achternaam"];
$voorraad = $_POST["voorraad"];
$query = $db->prepare("UPDATE klant SET voornaam = '$voornaam', achternaam = '$achternaam', voorraad = '$voorraad' WHERE klantnummer = $klantnummer;");
if ($query->execute()){
echo "<h2>De klant met klantnummer $klantnummer van tabel klant is gewijzigd.</h2>";
echo "<br>";
}
else {
print_r($db->errorInfo());
}
echo "<br>";
}
catch(PDOException $e) {
die("Error!: " . $e->getMessage());
}
?>
<br>
Klik <a href = "klant.html">hier</a> om terug te gaan naar het hoofdmenu.
</body>
</html>
Ik heb ook onderstaande codes geprobeerd met if-statements voor elke kolom, maar in dit geval gebeurd er niets. De oude gegevens blijven bestaan. Hieronder het programma met de if-statements:
<html>
<body style="background-color: lightyellow">
<?php
try{
$db = new PDO("mysql:host=localhost;dbname=KlantTest","test", "test");
$klantnummer=$_POST["klantnummer"];
$voornaam=$_POST["voornaam"];
$achternaam=$_POST["achternaam"];
$voorraad=$_POST["voorraad"];
if($_POST["voornaam"] != ""){
$voornaam=$_POST["voornaam"];
$query = $db->prepare("UPDATE klant SET voornaam = '$voornaam' WHERE klantnummer = $klantnummer;");
}
if($_POST["achternaam"] != ""){
$achternaam=$_POST["achternaam"];
$query = $db->prepare("UPDATE klant SET achternaam = '$achternaam' WHERE klantnummer = $klantnummer;");
}
if($_POST["voorraad"] != ""){
$voorraad=$_POST["voorraad"];
$query = $db->prepare("UPDATE klant SET voorraad = '$voorraad' WHERE klantnummer = $klantnummer;");
}
}
catch(PDOException $e) {
die("Error!: " . $e->getMessage());
}
?>
<br>
Klik <a href = "klant.html">hier</a> om terug te gaan naar het hoofdmenu.
</body>
</html>
Groeten,
Steve
2.145 views