mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 10:34 Benutzername: Passwort: Auto-Login

Thema: [PHP&MySQL]mehrere Einträge via "checkbox" löschen vom 07.02.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP&MySQL]mehrere Einträge via "checkbox" löschen
Autor Nachricht
msenger1985
Threadersteller

Dabei seit: 25.08.2011
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 07.02.2012 13:54
Titel

[PHP&MySQL]mehrere Einträge via "checkbox" lös

Antworten mit Zitat Zum Seitenanfang

Hallo,

wie bekomme ich es hin, dass mehrere Einträge gleichzeitig aus der Datenbank löschen kann?
Bei meinem Script löscht er trotz Mehrfachauswahl nur einen Beitrag!

Danke für die Hilfe
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Die Liga der aussergewöhnlichen Gentleman</title>
<style type="text/css">
body {
   font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
   background-color: #000;
}
a {
   color: #A4A267;
   text-decoration: none;
   outline:none;
}
a:hover {
   text-decoration: underline;
   font-weight: bold;
}
img{
   border:none;
}
h1{
   font-size:24px;
}
#box {
   position:absolute;
   left:50%;
   top:50%;
   width:1024px;
   height:768px;
   z-index:1;
   margin-top: -384px;
   margin-left: -512px;
   background-image: url(../images/hauptbild.jpg);
   border: 2px solid #382612;
}
#inhalt1 {
   position:absolute;
   left:500px;
   top:12px;
   width:504px;
   height:544px;
   z-index:1;
   background-color: #000;
   border: 2px solid #382612;
   color: #A4A267;
   padding: 5px;
   color: #A4A267;
   text-align:justify;
   opacity:0.9;
   filter:alpha(opacity=90);
}
#menu {
   position:absolute;
   left:0px;
   top:592px;
   width:1024px;
   height:135px;
   z-index:2;
   text-align: center;
   border-top-width: 2px;
   border-bottom-width: 2px;
   border-top-style: solid;
   border-bottom-style: solid;
   border-top-color: #382612;
   border-bottom-color: #382612;
}

</style>

</head>

<body>
<div id="box">

 
  <!-- Inhaltsbereiche Start-->   
  <div id="inhalt1" style="height:550px;width:500px; overflow-x: hidden; overflow-y: show;">
  <?php
//Verbindung zum Server herstellen
@$serververbindung = new mysqli('localhost','root','','ligadb');
//Fehler beim Verbinden, dann Rueckmeldung:
if(mysqli_connect_errno()){
   echo"Keine Verbindung zur Datenbank!";
   //Verbindung "aufrufen"/beenden
   exit();
}
//Anweisung fuer Datensatz loeschen notieren
$sqlanweisungen = "SELECT * FROM ligatabelle ORDER BY id";

//Wenn eine Verbundung zum Server und der Datenbank hergestellt werden konnte, die Datenbanktabelle anfragen zbd zwar alle Werte im einzelnen darstellen lassen, so lange noch welche da sind + OK-Angabe, ansonsten Fehlermeldung
if($alleDatensaetze = $serververbindung->query($sqlanweisungen)){
   //ALLE Datensaete in Einzelausgabe bringen
   while($einzelnerDatensatz = $alleDatensaetze->fetch_object()){
         echo"
          <form action='loeschen.php' methode='get'>
          <h1>$einzelnerDatensatz->ueberschrift</h1> $einzelnerDatensatz->text<br/><br/><br/> Autor: $einzelnerDatensatz->vorname $einzelnerDatensatz->nachname | Erstellt: $einzelnerDatensatz->datum <input type='checkbox' name='loeschenID' value= '$einzelnerDatensatz->id'/><br/><br/>
         ------------------------------------------------------------------------------------
";
      }echo"<input type='submit' value='löschen'/>
         </form>";
      //Alle Datensatzbearbeitung beenden
      $alleDatensaetze->close();
}else{
   echo"Es liegen keine Datensätze vor - ey, nix finden können";
   }
//Serverzusammenarbeit beenden
$serververbindung->close();
?>
  </div>
  <!-- Inhaltsbereiche Ende-->   
 
  <!-- Menübereich Start-->   
  <div id="menu">
     <a href="../datensatz_ausgeben_liga.php">
    <img src="../icons/home_ro.png" alt="Home" name="home" hspace="20" vspace="3" id="home" title="Home" /></a>
    <a href="../neuer_eintrag_liga.php">
    <img src="../icons/schreiben_ro.png" alt="Schreiben" name="infos" vspace="3" id="infos" title="Schreiben" /></a>
    <a href="#">
  <img src="../icons/bearbeiten_ro.png" alt="Löschen" name="galerie" hspace="20" vspace="3" id="galerie" title="Löschen" /></a></div>
  <!-- Menübereich Ende-->
 
</div>
</body>
</html>

Code:

<?php
//Verbindung zum Server herstellen
@$serververbindung = new mysqli('localhost','root','','ligadb');
//Fehler beim Verbinden, dann Rueckmeldung:
if(mysqli_connect_errno()){
   echo"Keine Verbindung zur Datenbank!";
   //Verbindung "aufrufen"/beenden
   exit();
}

$sqldaten = "DELETE FROM ligatabelle WHERE id=$_GET[loeschenID];";

if($serververbindung->query($sqldaten)){
      header("location:datensatz_loeschen_liga.php");
}else{
echo'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Die Liga der aussergewöhnlichen Gentleman</title>
<style type="text/css">
body {
   font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
   background-color: #000;
}
a {
   color: #A4A267;
   text-decoration: none;
   outline:none;
}
a:hover {
   text-decoration: underline;
   font-weight: bold;
}
img{
   border:none;
}
h1{
   font-size:24px;
}
#box {
   position:absolute;
   left:50%;
   top:50%;
   width:1024px;
   height:768px;
   z-index:1;
   margin-top: -384px;
   margin-left: -512px;
   background-image: url(images/hauptbild.jpg);
   border: 2px solid #382612;
}
#inhalt1 {
   position:absolute;
   left:500px;
   top:12px;
   width:504px;
   height:544px;
   z-index:1;
   background-color: #000;
   border: 2px solid #382612;
   color: #A4A267;
   padding: 5px;
   color: #A4A267;
   text-align:justify;
   opacity:0.9;
   filter:alpha(opacity=90);
}
#menu {
   position:absolute;
   left:0px;
   top:592px;
   width:1024px;
   height:135px;
   z-index:2;
   text-align: center;
   border-top-width: 2px;
   border-bottom-width: 2px;
   border-top-style: solid;
   border-bottom-style: solid;
   border-top-color: #382612;
   border-bottom-color: #382612;
}

</style>

</head>

<body>
<div id="box">

 
  <!-- Inhaltsbereiche Start-->   
  <div id="inhalt1">
 
  </div>
  <!-- Inhaltsbereiche Ende-->   
  <h1>Einträge - Löschen Fehlermeldung:</h1>
<p>Der ausgewählte Eintrag konnte leider aus der Datenbanktabelle nicht gelöscht werden.</p>
  <!-- Menübereich Start-->   
  <div id="menu">
     <a href="datensatz_ausgeben_liga.php">
    <img src="icons/home_ro.png" alt="Home" name="home" hspace="20" vspace="3" id="home" title="Home" /></a>
    <a href="neuer_eintrag_liga.php">
    <img src="icons/schreiben_ro.png" alt="Schreiben" name="infos" vspace="3" id="infos" title="Schreiben" /></a>
    <a href="ausgabel.php">
  <img src="icons/bearbeiten_ro.png" alt="Löschen" name="galerie" hspace="20" vspace="3" id="galerie" title="Löschen" /></a></div>
  <!-- Menübereich Ende-->
 
</div>
</body>
</html>
';}
?>
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Di 07.02.2012 14:12
Titel

Antworten mit Zitat Zum Seitenanfang

Erstmal machst
Code:
<input type='checkbox' name='loeschenID[]' value= '$einzelnerDatensatz->id'/>
und dann iterierst das halt...
  View user's profile Private Nachricht senden
Anzeige
Anzeige
msenger1985
Threadersteller

Dabei seit: 25.08.2011
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 07.02.2012 14:27
Titel

Antworten mit Zitat Zum Seitenanfang

sry... verstehe ich gerade nicht?
wie denn genau?
die id kommt doch aus der datenbank!
wie soll ich das denn iterieren?


Zuletzt bearbeitet von msenger1985 am Di 07.02.2012 14:36, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht: Männlich
Verfasst Di 07.02.2012 14:37
Titel

Antworten mit Zitat Zum Seitenanfang

msenger1985 hat geschrieben:
sry... verstehe ich gerade nicht?
wie denn genau?
mh? ja statt
Code:
$sqldaten = "DELETE FROM ligatabelle WHERE id=$_GET[loeschenID];";

if($serververbindung->query($sqldaten)){
      header("location:datensatz_loeschen_liga.php");
}else{
   // ...
}
zum Beispiel
Code:
$was_gelosecht= false;
foreach($_GET['loeschenID'] as $key => $wert)
{
   $sqldaten= "DELETE FROM ligatabelle WHERE id='".$wert."'";
   if($serververbindung->query($sqldaten))
   {
      $was_gelosecht= true;
   }
}
if($was_gelosecht)
{
    header("location:datensatz_loeschen_liga.php");
}
else
{
   // ...   
}
halt oder so..
  View user's profile Private Nachricht senden
 
Ähnliche Themen [MySQL] Suchindizierung Einträge sortieren
[MySQL] maximale Einträge Tabelle?
[mySQL] Nur Einträge mit bestimmten IDs auslesen
Bestimmte Einträge (durch ID bestimmt) aus MySQL-DB lesen
MySQL: Bereich von x bis y löschen
[mySQL] Datensätze löschen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.