mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 23.05.2012 03:52 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 14: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: 27
Geschlecht: Männlich
Verfasst Di 07.02.2012 15: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
msenger1985
Threadersteller

Dabei seit: 25.08.2011
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 07.02.2012 15: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 15:36, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
fyll

Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 27
Geschlecht: Männlich
Verfasst Di 07.02.2012 15: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] maximale Einträge Tabelle?
[MySQL] Suchindizierung Einträge sortieren
Bestimmte Einträge (durch ID bestimmt) aus MySQL-DB lesen
[mySQL] Nur Einträge mit bestimmten IDs auslesen
[php / mysql] Mysql Daten in php als Link ausgeben
[php] checkbox
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.