HelferLoeschen

This commit is contained in:
Florian Pesth 2024-03-17 13:38:40 +01:00
parent 3c53822b9b
commit 91329f6c48
4 changed files with 48 additions and 33 deletions

View File

@ -36,6 +36,10 @@ CREATE TABLE `HelferLevel` (
`HelferLevel` int(11) DEFAULT NULL, `HelferLevel` int(11) DEFAULT NULL,
`HelferLevelBeschreibung` varchar(255) DEFAULT NULL `HelferLevelBeschreibung` varchar(255) DEFAULT NULL
); );
INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung)
VALUES (1,'Orga');
INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung)
VALUES (2,'Teilnehmer');
DROP TABLE IF EXISTS `Schicht`; DROP TABLE IF EXISTS `Schicht`;
CREATE TABLE `Schicht` ( CREATE TABLE `Schicht` (
`SchichtID` int(11) NOT NULL AUTO_INCREMENT, `SchichtID` int(11) NOT NULL AUTO_INCREMENT,

View File

@ -340,33 +340,24 @@ function AlleSchichtenEinesHelfers($HelferID)
} }
// FIXME // FIXME
function HelferLoeschen($db_link, $HelferID, $AdminID) function HelferLoeschen($HelferID, $AdminID)
{ {
$HelferID = mysqli_real_escape_string($db_link, $HelferID); $db = DB::getInstance();
$db->prepare(__METHOD__,"Delete from Helfer where HelferID=:id");
static $stmt = false; $helfer = Helferdaten($HelferID);
static $stmt_prepared = false; if(count($helfer) == 1){
if(!$stmt_prepared) { $HelferName = $helfer[0]['Name'];
$stmt = $pdo->prepare("Delete from Helfer where HelferID='$HelferID'");
$stmt_prepared = true;
} }
$db_erg = Helferdaten($db_link, $HelferID); $schichten = AlleSchichtenEinesHelfers($HelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile['Name'];
//echo "HelferName=$HelferName<br>";
}
$db_erg = AlleSchichtenEinesHelfers($db_link, $HelferID); $AnzahlHelferschichten = count($schichten);
$AnzahlHelferschichten = mysqli_num_rows($db_erg);
if ($AnzahlHelferschichten == 0) { if ($AnzahlHelferschichten == 0) {
$sql = "Delete from Helfer where HelferID='$HelferID'"; $db_erg = $db->execute(__METHOD__,["id" => $HelferID]);
$db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) { if (! $db_erg) {
echo "Helfer $HelferName konnte nicht gelöscht werden<br>"; echo "Helfer $HelferName konnte nicht gelöscht werden<br>";
echo "$sql <br>";
return -2; return -2;
} else { } else {
echo "Helfer $HelferName (HelferID:$HelferID) wurde erfolgreich geloescht<br>"; echo "Helfer $HelferName (HelferID:$HelferID) wurde erfolgreich geloescht<br>";

View File

@ -289,15 +289,14 @@ function HelferLoeschen($db_link, $HelferID, $AdminID)
$HelferID = mysqli_real_escape_string($db_link, $HelferID); $HelferID = mysqli_real_escape_string($db_link, $HelferID);
$db_erg = Helferdaten($db_link, $HelferID); $helfer = Helferdaten($db_link, $HelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { if(count($helfer) == 1){
$HelferName = $zeile['Name']; $HelferName = $helfer[0]['Name'];
//echo "HelferName=$HelferName<br>";
} }
$db_erg = AlleSchichtenEinesHelfers($db_link, $HelferID); $schichten = AlleSchichtenEinesHelfers($db_link, $HelferID);
$AnzahlHelferschichten = mysqli_num_rows($db_erg); $AnzahlHelferschichten = count($schichten);
if ($AnzahlHelferschichten == 0) { if ($AnzahlHelferschichten == 0) {
$sql = "Delete from Helfer where HelferID='$HelferID'"; $sql = "Delete from Helfer where HelferID='$HelferID'";
$db_erg = mysqli_query($db_link, $sql); $db_erg = mysqli_query($db_link, $sql);

View File

@ -227,18 +227,38 @@ function TestAlleSchichtenEinesHelfers(){
else echo "AlleSchichtenEinesHelfers ok\n"; else echo "AlleSchichtenEinesHelfers ok\n";
} }
// ok
function TestHelferLoeschen(){ function TestHelferLoeschen(){
$dbl = old\ConnectDB(); $dbl = old\ConnectDB();
$erg_old = old\HelferLoeschen($dbl, $HelferID, $AdminID); HelferLogin("max2@example.com", "hola234", 0);
var_dump($erg_old); $helfer1 = $_SESSION;
$erg_new = HelferLoeschen($HelferID, $AdminID); HelferLogin("max3@example.com", "hola531", 0);
var_dump($erg_new); $helfer2 = $_SESSION;
die("--\n"); ob_start();
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ $erg_old1 = old\HelferLoeschen($dbl, $helfer1['HelferID'],0);
echo "Old HelferLoeschen returns".var_export($erg_old, true)."\n"; $erg_new1 = HelferLoeschen($helfer2['HelferID'],0);
echo "New HelferLoeschen returns '".var_export($erg_new, true)."'\n"; $schichten = AlleSchichtenEinesHelfers($helfer1['HelferID']);
foreach($schichten as $schicht)
{
HelferVonSchichtLoeschen($helfer1['HelferID'], $schicht['EinzelSchichtID']);
} }
else echo "HelferLoeschen ok"; $schichten = AlleSchichtenEinesHelfers($helfer2['HelferID']);
foreach($schichten as $schicht)
{
HelferVonSchichtLoeschen($helfer2['HelferID'], $schicht['EinzelSchichtID']);
}
$erg_old2 = old\HelferLoeschen($dbl, $helfer1['HelferID'],0);
$erg_new2 = HelferLoeschen($helfer2['HelferID'],0);
ob_end_clean();
if((gettype($erg_old1) != gettype($erg_new1)) || ($erg_old1 != $erg_new1)){
echo "Old HelferLoeschen returns".var_export($erg_old1, true)."\n";
echo "New HelferLoeschen returns '".var_export($erg_new1, true)."'\n";
}
else if((gettype($erg_old2) != gettype($erg_new2)) || ($erg_old2 != $erg_new2)){
echo "Old HelferLoeschen returns".var_export($erg_old2, true)."\n";
echo "New HelferLoeschen returns '".var_export($erg_new2, true)."'\n";
}
else echo "HelferLoeschen ok\n";
} }
// ok // ok
@ -627,4 +647,5 @@ TestLastInsertId();
TestHelferLevel(); TestHelferLevel();
TestHelferVonSchichtLoeschen_SchichtID(); TestHelferVonSchichtLoeschen_SchichtID();
TestDeleteSchicht(); TestDeleteSchicht();
TestHelferLoeschen();
?> ?>