KA
This commit is contained in:
19
Klassenarbeit/db_connect.php
Normal file
19
Klassenarbeit/db_connect.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
// DANIEL CWIKLA
|
||||
function db_connect() {
|
||||
require_once "db_connection.php";
|
||||
|
||||
$db_server = "$db_engine:dbname=$db_name;host=$db_host";
|
||||
|
||||
try {
|
||||
$dbh = new PDO($db_server, $db_user, $db_password);
|
||||
echo "<p>DB Connected</p>";
|
||||
return $dbh;
|
||||
}
|
||||
catch(PDOException $e) {
|
||||
die("<p>Error</p>");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
10
Klassenarbeit/db_connection.php
Normal file
10
Klassenarbeit/db_connection.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
// DANIEL CWIKLA
|
||||
$db_engine = "mysql";
|
||||
$db_name = "hardwarefuchs";
|
||||
$db_host = "localhost";
|
||||
$db_user = "phpmyadmin";
|
||||
$db_password = "server";
|
||||
?>
|
||||
|
||||
|
||||
136
Klassenarbeit/funktionen.php
Normal file
136
Klassenarbeit/funktionen.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
// DANIEL CWIKLA
|
||||
function kundeEinfuegen($dbh, $kdnr, $nachname, $email){
|
||||
|
||||
if($kdnr != 0 AND $nachname != '' AND $email != "") {
|
||||
// JAHRESUMSATZ und RABATSTUFFE sind auf default 0.00 bzw. 0
|
||||
// deswegen werden die hier nicht nochmal auf 0.00 bzw. 0 gesetzt
|
||||
$query = "INSERT INTO kunde VALUES (:kdnr, :nachname, :email, 0.00, 0)";
|
||||
$stmt = $dbh->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 = "<p>Email-Adress already exists!</p>"; break;
|
||||
default: $custErrMsg = "<p>Oooops, something went wrong!</p>";
|
||||
}
|
||||
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 = "<p>Email-Adress already exists!</p>"; break;
|
||||
default: $custErrMsg = "<p>Oooops, something went wrong!</p>";
|
||||
}
|
||||
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 = "<p>Email-Adress already exists!</p>"; break;
|
||||
default: $custErrMsg = "<p>Oooops, something went wrong!</p>";
|
||||
}
|
||||
echo $$errMsg;
|
||||
echo $custErrMsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
51
Klassenarbeit/hardwarefuchs.sql
Normal file
51
Klassenarbeit/hardwarefuchs.sql
Normal file
@@ -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 */;
|
||||
28
Klassenarbeit/kunde_neu.php
Normal file
28
Klassenarbeit/kunde_neu.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Neuer Kunde</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>DANIEL CWIKLA</h1>
|
||||
<form>
|
||||
<label>Kundennummer: <input name="kdnr" type="number"></label><br>
|
||||
<label>Nachname: <input name="nachname" type="text"></label><br>
|
||||
<label>E-Mail: <input name="email" type="email"></label><br>
|
||||
<button type="submit">Anlegen</button>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
// DANIEL CWIKLA
|
||||
require_once 'funktionen.php';
|
||||
require_once 'db_connect.php';
|
||||
|
||||
if(!empty($_REQUEST)){
|
||||
$dbh = db_connect();
|
||||
echo kundeEinfuegen($dbh, $_REQUEST['kdnr'], $_REQUEST['nachname'], $_REQUEST['email']);
|
||||
}
|
||||
?>
|
||||
26
Klassenarbeit/test.php
Normal file
26
Klassenarbeit/test.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
// DANIEL CWIKLA
|
||||
require_once 'funktionen.php';
|
||||
require_once 'db_connect.php';
|
||||
|
||||
$dbh = db_connect();
|
||||
|
||||
$kdnr = 1;
|
||||
$umsatz = 50000.676;
|
||||
|
||||
echo "<h2>setJahresUmsatz</h2>";
|
||||
echo "<p>Kundennummer: $kdnr</p>";
|
||||
echo "<p>Neuer Umsatz: $umsatz</p>";
|
||||
|
||||
echo setJahresUmsatz($dbh, $kdnr, $umsatz);
|
||||
|
||||
echo "<h2>getJahresUmsatz</h2>";
|
||||
|
||||
echo "<p>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 "€ </p>";
|
||||
|
||||
echo "<p>setAllRabattStufen: ";
|
||||
echo setAllRabattStufen($dbh);
|
||||
Reference in New Issue
Block a user