diff --git a/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connect.php b/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connect.php new file mode 100644 index 0000000..74e49a3 --- /dev/null +++ b/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connect.php @@ -0,0 +1,19 @@ +DB Connected
"; + return $dbh; + } + catch(PDOException $e) { + die("Error
"); + } +} +?> + + diff --git a/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connection.php b/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connection.php new file mode 100644 index 0000000..17d44e2 --- /dev/null +++ b/Zweites Jahr/Klassenarbeit/LBT3/KA2/db_connection.php @@ -0,0 +1,10 @@ + + + diff --git a/Zweites Jahr/Klassenarbeit/LBT3/KA2/funktionen.php b/Zweites Jahr/Klassenarbeit/LBT3/KA2/funktionen.php new file mode 100644 index 0000000..7f0822a --- /dev/null +++ b/Zweites Jahr/Klassenarbeit/LBT3/KA2/funktionen.php @@ -0,0 +1,136 @@ +prepare($query); + + $stmt->bindParam(':kdnr', $kdnr); + $stmt->bindParam(':nachname', $nachname); + $stmt->bindParam(':email', $email); + + try { + $stmt->execute(); + return "Kunde (Herr/Frau $nachname) wurde erstellt!"; + } + catch(PDOException $e) { + $errMsg = $e->getMessage(); + $errCode = $e->getCode(); + + switch($errCode) { + case "23000": $custErrMsg = "Email-Adress already exists!
"; break; + default: $custErrMsg = "Oooops, something went wrong!
"; + } + echo $$errMsg; + echo $custErrMsg; + } + + } else { + return "ERROR: missing data"; + } +} + +function setJahresUmsatz($dbh, $kdnr, $umsatz){ + if($kdnr != 0 AND $umsatz != 0) { + $query = "UPDATE kunde + SET jahresumsatz = $umsatz + WHERE :kdnr = kd_nummer"; + + $stmt = $dbh->prepare($query); + + $stmt->bindParam(':kdnr', $kdnr); + //$stmt->bindParam(':umsatz', $umsatz); + + try { + $stmt->execute(); + return "Der JAhresumsatz von Kunde ($kdnr) wurde geupdated!"; + } + catch(PDOException $e) { + $errMsg = $e->getMessage(); + $errCode = $e->getCode(); + + switch($errCode) { + case "23000": $custErrMsg = "Email-Adress already exists!
"; break; + default: $custErrMsg = "Oooops, something went wrong!
"; + } + echo $$errMsg; + echo $custErrMsg; + } + }else { + return "ERROR: missing data"; + } +} + +function getJahresUmsatz($dbh, $kdnr){ + if($kdnr != 0){ + + $query = "SELECT jahresumsatz FROM kunde WHERE kd_nummer = $kdnr;"; + + $jahresUmsatzArray = $dbh->query($query)->fetch(); + + return $jahresUmsatzArray[0]; + } else { + return "ERROR: missing data"; + } +} + +function setAllRabattStufen($dbh){ + $getAllKunden = "SELECT * FROM kunde;"; + + $allKunden = $dbh->query($getAllKunden)->fetchAll(); + + foreach($allKunden as $kunde) { + $rabatt = 0; + $umsatz = $kunde[3]; + $kdnr = $kunde[0]; + + echo "umsatz, kdnr"; + echo $umsatz; + echo "---"; + echo $kdnr; + echo "-----"; + if($umsatz > 250000.0){ + $rabatt = 25; + } else if ($umsatz > 100000.0) { + $rabatt = 15; + } + else if ($umsatz > 50000.0) { + $rabatt = 10; + } + else if ($umsatz > 10000.0) { + $rabatt = 5; + } + + $updateRabattStufeQuery = "UPDATE kunde + SET rabattstufe = :rabatt + WHERE :kdnr = kd_nummer"; + + $stmt = $dbh->prepare($updateRabattStufeQuery); + + $stmt->bindParam(':kdnr', $kdnr); + $stmt->bindParam(':rabatt', $rabatt); + + echo $rabatt; + + try { + $stmt->execute(); + echo "Die Rabattstufe von Kunde ($kdnr) wurde geupdated!"; + } + catch(PDOException $e) { + $errMsg = $e->getMessage(); + $errCode = $e->getCode(); + + switch($errCode) { + case "23000": $custErrMsg = "Email-Adress already exists!
"; break; + default: $custErrMsg = "Oooops, something went wrong!
"; + } + echo $$errMsg; + echo $custErrMsg; + } + } +} + + diff --git a/Zweites Jahr/Klassenarbeit/LBT3/KA2/hardwarefuchs.sql b/Zweites Jahr/Klassenarbeit/LBT3/KA2/hardwarefuchs.sql new file mode 100644 index 0000000..95cb274 --- /dev/null +++ b/Zweites Jahr/Klassenarbeit/LBT3/KA2/hardwarefuchs.sql @@ -0,0 +1,51 @@ +-- phpMyAdmin SQL Dump +-- version 5.1.1deb5ubuntu1 +-- https://www.phpmyadmin.net/ +-- +-- Host: localhost:3306 +-- Generation Time: May 19, 2026 at 02:41 PM +-- Server version: 10.6.21-MariaDB-0ubuntu0.22.04.2 +-- PHP Version: 8.1.2-1ubuntu2.21 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `hardwarefuchs` +-- +CREATE DATABASE IF NOT EXISTS `hardwarefuchs` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; +USE `hardwarefuchs`; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `kunde` +-- + +CREATE TABLE `kunde` ( + `kd_nummer` int(11) NOT NULL, + `nachname` varchar(50) NOT NULL, + `email` varchar(100) NOT NULL, + `jahresumsatz` float NOT NULL DEFAULT 0, + `rabattstufe` int(11) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- +-- Dumping data for table `kunde` +-- + +INSERT INTO `kunde` (`kd_nummer`, `nachname`, `email`, `jahresumsatz`, `rabattstufe`) VALUES +(1, 'daniel', 'daniel@daniel.com', 50000.7, 10), +(2, 'daniel2', 'daniel2@danielvici.com', 0, 0); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/Zweites Jahr/Klassenarbeit/LBT3/KA2/kunde_neu.php b/Zweites Jahr/Klassenarbeit/LBT3/KA2/kunde_neu.php new file mode 100644 index 0000000..76e4fd0 --- /dev/null +++ b/Zweites Jahr/Klassenarbeit/LBT3/KA2/kunde_neu.php @@ -0,0 +1,28 @@ + + + + + +Kundennummer: $kdnr
"; +echo "Neuer Umsatz: $umsatz
"; + +echo setJahresUmsatz($dbh, $kdnr, $umsatz); + +echo "Jahresumsaz: "; +// php rundet automatisch: "... num is rounded to decimals significant digits before the decimal point." +// https://www.php.net/manual/en/function.number-format.php +echo number_format(getJahresUmsatz($dbh, $kdnr),2); +echo "€
"; + +echo "setAllRabattStufen: "; +echo setAllRabattStufen($dbh); \ No newline at end of file