it is now possible to edit station entries

This commit is contained in:
2022-06-17 17:18:41 +02:00
parent 491a12276d
commit 4ca75ef48d
7 changed files with 108 additions and 8 deletions

View File

@@ -9,6 +9,5 @@ RUN docker-php-ext-install pdo pdo_mysql
# install xdebug for php # install xdebug for php
RUN pecl install xdebug && docker-php-ext-enable xdebug RUN pecl install xdebug && docker-php-ext-enable xdebug
# install ldap module # create log folder
RUN apt install -y libldap2-dev RUN mkdir /logs
RUN docker-php-ext-install ldap

View File

@@ -0,0 +1,48 @@
<?php
session_start();
include("../scripts/connection.php");
include("../scripts/functions.php");
$user_data = check_login($con);
if($_SERVER['REQUEST_METHOD'] == "GET") {
$row = get_station_all($con, $_GET['s_id'])->fetch();
include("header_footer/header.php");
}
if($_SERVER['REQUEST_METHOD'] == "POST") {
$station = get_station_all($con, $_POST['station_id'])->fetch();
$s_id = intval($station['s_id']);
$name = strval($station['name']);
$standort = strval($station['standort']);
if($name != $_POST['station_name']) {
update_station_name($con, $s_id, $_POST['station_name']);
}
if($standort != $_POST['station_pos']) {
update_station_pos($con, $s_id, $_POST['station_pos']);
}
header("Location: stationen.php");
die;
}
?>
<body>
<div class="headline">
<h2>Station bearbeiten</h2>
</div>
<div>
<form method="post">
<label for="station_name">Stations Namen:</label>
<input type="text" name="station_name" <?php echo "value=\"" . $row['name'] . "\"" ?> /><br>
<label for="station_pos">Stations Standort:</label>
<input type="text" name="station_pos" <?php echo "value=\"" . $row['standort'] . "\""?>/><br>
<input type="hidden" name="station_id" <?php echo "value=\"" . $row ['s_id'] . "\""?>/>
<input type="submit" value="Speichern"/>
</form>
</div>
</body>
<?php
$con = null;
echo file_get_contents("header_footer/footer.html");
?>

View File

@@ -5,7 +5,7 @@
$user_data = check_login($con); $user_data = check_login($con);
include("header_footer/header.php"); include("header_footer/header.php");
?> ?>
<body> <body>

View File

@@ -6,12 +6,13 @@ if (document.readyState == "complete") {
} }
function init() { function init() {
if(document.getElementById('table') != null) { if(document.getElementById('table') != null && document.getElementsByClassName('edit')[0] != null) {
highlight_row(); highlight_row();
} }
user_edit_button(); user_edit_button();
statistic_edit_button(); statistic_edit_button();
station_edit_button();
} }
var selected = null; var selected = null;
@@ -65,4 +66,15 @@ function statistic_edit_button() {
this.form.submit(); this.form.submit();
} }
} }
}
function station_edit_button() {
var button = document.getElementById('edit_station');
if(button != null) {
button.onclick = function() {
var row = document.getElementsByClassName("selected")[0];
document.getElementById('s_id').value = row.id;
this.form.submit();
}
}
} }

View File

@@ -5,7 +5,7 @@
include("../scripts/functions.php"); include("../scripts/functions.php");
$user_data = check_login($con); $user_data = check_login($con);
include("header_footer/header.php"); include("header_footer/header.php");
?> ?>
<body> <body>
@@ -17,6 +17,12 @@
<input type="submit" value="Station anlegen"/> <input type="submit" value="Station anlegen"/>
</form> </form>
</div> </div>
<div>
<form action="edit_station.php" method="get">
<input id="edit_station" type="button" value="Station bearbeiten" class="edit" disabled="true"/>
<input type="hidden" id="s_id" name="s_id"/>
</form>
</div>
<div class="table-div"> <div class="table-div">
<table id="table"> <table id="table">
<thead> <thead>

View File

@@ -358,4 +358,39 @@ function change_time($con, $m_id, $s_id, $time) {
} catch(PDOException $e) { } catch(PDOException $e) {
handle_pdo_exception($e); handle_pdo_exception($e);
} }
}
function get_station_all($con, $s_id) {
try {
$stmt = $con->prepare("SELECT * FROM Station WHERE s_id = :s_id");
$stmt->execute(['s_id' => $s_id]);
$stmt->setFetchMode(PDO::FETCH_ASSOC);
return $stmt;
} catch(PDOException $e) {
handle_pdo_exception($e);
}
}
function update_station_name($con, $s_id, $name) {
try {
echo $s_id . "\n";
echo $name . "\n";
$stmt = $con->prepare("UPDATE Station SET name = ? WHERE s_id = ?");
$stmt->bindParam(1, $name, PDO::PARAM_STR);
$stmt->bindParam(2, $s_id, PDO::PARAM_INT);
$stmt->execute();
} catch(PDOException $e) {
handle_pdo_exception($e);
}
}
function update_station_pos($con, $s_id, $pos) {
try {
$stmt = $con->prepare("UPDATE Station SET standort = ? WHERE s_id = ?");
$stmt->bindParam(1, $pos, PDO::PARAM_STR);
$stmt->bindParam(2, $s_id, PDO::PARAM_INT);
$stmt->execute();
} catch(PDOException $e) {
handle_pdo_exception($e);
}
} }

View File

@@ -35,9 +35,9 @@ function generate_password_hash($password, $salt) {
} }
function load_stations_table($con) { function load_stations_table($con) {
$stmt = get_stations($con); $stmt = get_stations_all($con);
foreach($stmt->fetchAll() as $row) { foreach($stmt->fetchAll() as $row) {
echo "<tr>"; echo "<tr id=\"" . $row['s_id'] . "\">";
echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['standort'] . "</td>"; echo "<td>" . $row['standort'] . "</td>";
echo "</tr>"; echo "</tr>";