Zum Inhalt springen

Löschen eines DB-Satzes mit PHP


Empfohlene Beiträge

ich habe ein Problem!

ich möchte ein Datensatz aus der Datenbank löschen, das klappt auch, aber ich möchte, das der Datensatz bevor der DB-Satz gelöscht wird ausgegeben wird und dann durch einen Knopf-druck gelöscht wird.

ich habe auch schon was zusammen geschrieben, aber es wird nicht das gemacht, was ich gerne will, das löschen des DB-Satzes.

so sieht men Programm aus:


<?php
/*
* Loeschen von Datensaetzen von einer Datenbank
*
*/

// Zugangsdaten zur Datenbank
$conn = mysql_connect("localhost","benjamin","*******");

// Wechsel der Datenbank
mysql_select_db(projekt_bkik);

// MySQL-Befehl1
$befehl1 = "select datum, uhrzeit, ort, betreff, grund from terminplaner ";
$befehl1 .= "where benutzer_id = '".$HTTP_GET_VARS['benutzer_id']."' and ";
$befehl1 .= "datum = '".$HTTP_GET_VARS['datum']."' and ";
$befehl1 .= "uhrzeit = '".$HTTP_GET_VARS['uhrzeit']."' ";
$ergebnis1 = mysql_query($befehl1, $conn);
if($ergebnis1)
{
echo "Sie wollen folgender Termin aus ihrem Terminplaner löschen: ";
while($inhalt = mysql_fetch_array($ergebnis1, MYSQL_ASSOC))
{
$loeschen = 0;
echo "<br>";
echo $inhalt['datum'];
echo "<br>";
echo $inhalt['uhrzeit'];
echo "<br>";
echo $inhalt['ort'];
echo "<br>";
echo $inhalt['betreff'];
echo "<br>";
echo $inhalt['grund'];
echo "<br>";
echo "Loeschen: $loeschen";
echo "<br>";
[von hier]echo "<input type=Submit name=$loeschen value=loeschen>";
echo "<br>";
echo "Loeschen: $loeschen";
echo "<br>";
while($loeschen)
{
echo "Der Datensatz wurde gelöscht!";
loeschen();
}[/bis hier]
}
}
else
{
echo "<p>" .mysql_error($conn);
}

function loeschen()
{
// Zugangsdaten zur Datenbank
$conn = mysql_connect("localhost","benjamin","*******");
// Wechsel der Datenbank
mysql_select_db(projekt_bkik);
// Mysql-Befehl2 zum Löschen vom Datensatz
$befehl2 = "delete from terminplaner where ";
$befehl2 .= "benutzer_id = '".$HTTP_GET_VARS['benutzer_id']."' and ";
$befehl2 .= "datum = '".$HTTP_GET_VARS['datum']."' and ";
$befehl2 .= "uhrzeit = '".$HTTP_GET_VARS['uhrzeit']."' ";
$result = mysql_query($sql, $conn);
if($result)
{
$nummer = mysql_affected_rows($conn);
echo "<p> Es wurden $nummer Datensätze gelöscht!";
}
else
{
echo "<p>" .mysql_error($conn);
}

// MySQL-Verbindung wird beendet!
mysql_close($conn);
}
?>
[/PHP]

das Programm kann man bestimmt noch einfacher schreiben, aber das wird dann später noch anders umgeschrieben, wenn es auch funktioniert!

mir geht es um den Teil, der wo mit [von hier] bis [/bis hier] hervorgehoben wurde!

wie muss ich das schreiben, das wenn der Button gedrückt wird eine 1 gesendet wird, das die while-Schleife ausgelöst wird?

Im Voraus schon ein Dankeschön, für die Hilfe für mich!

DANKE!

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich habe das Programm jetzt nochmal umgeschriebn, das sieht jetzt so aus, aber ich bin immer noch nicht glücklich darüber, wie kann ich das machen, das wenn er ein Button drückt, erst den Datensatz löscht?


<?php
// Variable fuer die Bedingung
$loeschen=0;
$datenbank = "projekt_bkik";
// MySQL-Befehl1 zum Ausgeben des zu loeschenden Termins
$befehl1 = "select datum, uhrzeit, ort, betreff, grund from terminplaner ";
$befehl1 .= "where benutzer_id = '".$HTTP_GET_VARS['benutzer_id']."' and ";
$befehl1 .= "datum = '".$HTTP_GET_VARS['datum']."' and ";
$befehl1 .= "uhrzeit = '".$HTTP_GET_VARS['uhrzeit']."' ";
// Mysql-Befehl2 zum Loeschen vom Datensatz
$befehl2 = "delete from terminplaner where ";
$befehl2 .= "benutzer_id = '".$HTTP_GET_VARS['benutzer_id']."' and ";
$befehl2 .= "datum = '".$HTTP_GET_VARS['datum']."' and ";
$befehl2 .= "uhrzeit = '".$HTTP_GET_VARS['uhrzeit']."' ";
// Aufruf der function ausgabe mit dem Uebergabeparameter $befehl1
ausgabe($befehl1, $datenbank);
//Wie kann ich das hier besser schreiben, mit einem Button?
$loeschen=1;
while($loeschen > 0)
{
// Aufruf der function loeschen mit dem Uebergabeparameter $befehl2
loeschen($befehl2, $datenbank);
$loeschen--;
}


/**
* Ausgabe des zu loeschenden Termins
*/
function ausgabe($befehl1, $datenbank)
{
// Zugangsdaten zur Datenbank
$conn = mysql_connect("localhost","benjamin","*****");
// Wechsel der Datenbank
mysql_select_db($datenbank);
// Ausfuehren des Mysql-Befehl 1
$ergebnis1 = mysql_query($befehl1, $conn);
// Ueberpruefung ob der Befehl erfolgreich war, wenn ja,
// geht in if-Zweig, sonst in else-Zweig
if($ergebnis1)
{
echo "<p align=center>Sie wollen folgender Termin aus ihrem Terminplaner löschen? ";
while($inhalt = mysql_fetch_array($ergebnis1, MYSQL_ASSOC))
{
$loeschen = 0;
echo "<br>";
echo $inhalt['datum'];
echo "<br>";
echo $inhalt['uhrzeit'];
echo "<br>";
echo $inhalt['ort'];
echo "<br>";
echo $inhalt['betreff'];
echo "<br>";
echo $inhalt['grund'];
echo "<br>";
}
}
else
{
echo "<p>" .mysql_error($conn);
}
// MySQL-Verbindung wird beendet!
mysql_close($conn);
}


/**
* Loeschen des Termins, wenn die Bedingung
* erfuellt wurde!
*/
function loeschen($befehl2, $datenbank)
{
// Zugangsdaten zur Datenbank
$conn = mysql_connect("localhost","benjamin","********");
// Wechsel der Datenbank
mysql_select_db($datenbank);
$result = mysql_query($befehl2, $conn);
if($result)
{
echo "<p align=center> Es wurde der Datensatz gelöscht!";
}
else
{
echo "<p align=center>" .mysql_error($conn);
}
// MySQL-Verbindung wird beendet!
mysql_close($conn);
}
?>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

das möchte ich auch so machen!

aber wie muss ich das schreiben, habe schon etliches Ausprobiert, aber bis jetzt hat das noch nicht geklappt

bsp:

<form action=? method=post>

<input type="Submit" name="" value="loeschen?">

</form>

wo muss ich hier die 1 setzen?

das er dann in die while-Schleife reinkommt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Probier mal folgendes:


if ( (!isset($HTTP_POST_VARS['loeschen']))
{
echo '<form action="" method="post">';
echo '<input type="Submit" name="loeschen" value="loeschen?">';
echo '</form>';
}
else if ( (isset($HTTP_POST_VARS['loeschen']))
{
//Datensatz löschen
}
else
{ }
[/PHP]

So sollte es funktionieren.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...