Task to JS + AJAX and PHP, code from 21-05-26
This commit is contained in:
47
Zweites Jahr/javascript/AJAX/mitarbeiterquali/backend.php
Normal file
47
Zweites Jahr/javascript/AJAX/mitarbeiterquali/backend.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
// DB-Zugangsdaten (bitte anpassen)
|
||||
$host = 'localhost';
|
||||
$db = 'json';
|
||||
$user = 'phpmyadmin';
|
||||
$pass = 'server';
|
||||
$charset = 'utf8mb4';
|
||||
|
||||
if (isset($_GET['qualifikation']) && !empty($_GET['qualifikation'])) {
|
||||
$quali = $_GET['qualifikation'];
|
||||
|
||||
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
|
||||
$options = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
];
|
||||
|
||||
try {
|
||||
// PDO-Verbindung aufbauen
|
||||
$pdo = new PDO($dsn, $user, $pass, $options);
|
||||
|
||||
// SQL-Statement vorbereiten (Schutz vor SQL-Injection)
|
||||
// HINWEIS: Tabellen- und Spaltennamen müssen dem importierten Dump entsprechen.
|
||||
$stmt = $pdo->prepare(
|
||||
'SELECT m.Name AS name, q.Qualifikation AS qualifikation
|
||||
FROM mitarbeiter m
|
||||
JOIN mitarbeiter_hat_qualifikation mhq ON m.idMitarbeiter = mhq.Mitarbeiter_idMitarbeiter
|
||||
JOIN qualifikation q ON mhq.Qualifikation_idQualifikation = q.idQualifikation
|
||||
WHERE qualifikation = ?');
|
||||
|
||||
$stmt->execute([$quali]);
|
||||
|
||||
$ergebnisse = $stmt->fetchAll();
|
||||
|
||||
// Als JSON an den Client senden
|
||||
echo json_encode($ergebnisse);
|
||||
|
||||
} catch (\PDOException $e) {
|
||||
// Im Fehlerfall leeres Array oder Fehlermeldung senden
|
||||
echo json_encode(['error' => 'Datenbankfehler: ' . $e->getMessage()]);
|
||||
}
|
||||
} else {
|
||||
echo json_encode([]);
|
||||
}
|
||||
Reference in New Issue
Block a user