2
0

Compare commits

...

2 Commits

Author SHA1 Message Date
cwikladaniel
a7e5c71d86 delete moved files and add AJAX stuff from 20-5-26 2026-05-20 15:11:16 +02:00
cwikladaniel
b3afa9163b change folder structure for KA's 2026-05-20 15:00:22 +02:00
9 changed files with 349 additions and 0 deletions

View 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>");
}
}
?>

View File

@@ -0,0 +1,10 @@
<?php
// DANIEL CWIKLA
$db_engine = "mysql";
$db_name = "hardwarefuchs";
$db_host = "localhost";
$db_user = "phpmyadmin";
$db_password = "server";
?>

View 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;
}
}
}

View 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 */;

View 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']);
}
?>

View 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);

View File

@@ -12,6 +12,13 @@ Wichtige Informationen
- JavaScript - [./javascript](/Zweites%20Jahr/javascript/) - JavaScript - [./javascript](/Zweites%20Jahr/javascript/)
- Unterrichts Projekt - [./unterrichts_projekt](/Zweites%20Jahr/unterrichts_projekt/portal/register.php) (Register Seite) - Unterrichts Projekt - [./unterrichts_projekt](/Zweites%20Jahr/unterrichts_projekt/portal/register.php) (Register Seite)
## 20-04-26 - JS + AJAX
- Einführung AJAX
- HTML Formular mit JavaScript
## 19-04-26 - PHP KA
- KA geschrieben ([Klassenarbeit](/Zweites%20Jahr/Klassenarbeit/LBT3/KA2/))
## 30-04-26 ## 30-04-26
- Event Listener - Event Listener

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AJAX BEispiel 2</title>
</head>
<body>
<form>
<label>Mitarbeiter
<select id="selection" name="mitarbeiter">
<option>Bitte Auswählen</option>
<option value="0">Mortens</option>
<option value="1">Müller</option>
<option value="2">Meier</option>
<option value="3">Schulu</option>
</select>
</label>
</form>
<div id="output"></div>
<script>
// ajax
let xhr = new XMLHttpRequest();
window.addEventListener("load", function(){
document.getElementById("selection").addEventListener("change",auswahl);
});
function auswahl(){
xhr.open("get", "gehalt.json");
xhr.send();
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status == 200){
let res = JSON.parse(xhr.responseText);
console.log(res);
let select = document.getElementById("selection").value;
console.log(select);
document.getElementById("output").innerHTML =
"Name: " +res[select].Name +
"<br>" +
"Gehalt: " + res[select].Gehalt + " EUR";
}
}
}
</script>
</body>
</html>

View File

@@ -0,0 +1,18 @@
[
{
"Name" : "Mertens",
"Gehalt" : 5694.34
},
{
"Name" : "Müller",
"Gehalt" : 4324.32
},
{
"Name" : "Meier",
"Gehalt" : 4444.55
},
{
"Name" : "Schulz",
"Gehalt" : 7777.77
}
]