Hey,
ich habe ein Problem.
Und zwar habe ich Termine. Man kann diese erstellen, editieren und löschen. Alles funktioniert auch. Nur ich brauche den Array ($alleTermine), welcher alle aus der DB gezogenen Termindaten enthält, schon vor dem löschen und editieren. Somit wird nach dem Löschen erst beim 2ten Seitenaufruf dieser gelöschte Termin nicht mehr angezeigt.
Eine Idee wäre Ajax aber ich möchte dies so lösen. Weiß nur nicht wie ich es machen soll. Hoffe ihr könnt mir hilfreiche Tipps geben.
Der Code:
PHP
try{
$selectTermin = $dbv->prepare("SELECT terminId, grund, beschreibung, datum, uhrzeit FROM termine");
$selectTermin->execute();
$alleTermine = $selectTermin->fetchAll(PDO::FETCH_ASSOC);
for($i = 0; $i < count($alleTermine); $i++){
if(isset($_POST['deleteTermin' . $i])){
$terminId = $_POST['terminId'];
$deleteTermin = $dbv->prepare("DELETE FROM termine WHERE terminId = :terminId");
$deleteTermin->execute(array(":terminId" => $terminId));
}
else if(isset($_POST['editTermin' . $i])){
$terminId = $_POST['terminId'];
header("LOCATION: termine/edit_termin.php?id=" . $terminId);
}
}
}catch(EXCEPTION $z){
echo "Ein Fehler ist aufgetreten: " . $z->getMessage();
exit();
}
Alles anzeigen
Die Ausgabe der Termine erfolgt so:
PHP
<?php
foreach ($alleTermine as $key => $value) {
echo "<div class='alleTermine'>
<ul>
<li>Termingrund: " . htmlspecialchars($value['grund']) . "</li>
<li>Terminbeschreibung: " . htmlspecialchars($value['beschreibung']) . "</li>
<li>Am: " . htmlspecialchars($value['datum']) . "</li>
<li>Um: " . htmlspecialchars($value['uhrzeit']). " Uhr </li>
</ul>
<form method='post'>
<input type='hidden' value='" . $value['terminId'] . "' name='terminId'>
<button name='deleteTermin" . $key . "'>Termin löschen</button>
<button name='editTermin" . $key . "'>Termin editieren</button>
</form>
</div>
";
}
?>
Alles anzeigen
Gruß,
Stef