löschen mit checkboxen, aber wie wenn mehrere einträge gleichzeitig?

da hilft nur fehlersuchen :-)

macht man am einfachsten mit echo

sprich zuerst setzt du nach dem erzeugen von $dbquery ein echo $dbquery; rein

kommt da was?

wenn nein dann nach
if(isset($_POST[delbox])) {
$zw = $_post[delbox];
echo $zw[0];

wenn dann nix kommt ist dein formfeld fehlerhaft
 
ich glaube ich schreibe mal ein tut
zum debug von programmen seuftz

PHP:
if(isset($_POST[delbox])) {
 $delbox2 = $_POST[delbox];
 echo "1. id $delbox2[0]<br>"; # kontrolle
 for ($lo=0;$lo<sizeof($delbox2);$lo++) {
  $dquery = mysql_query("DELETE FROM tabelle WHERE id = '$delbox2[$lo]'");
  echo "Query $dbquery<br>"; #kontrolle
  mysql_db_query ($dbname, $dbquery, $dbverbindung) or die(mysql_error()); #falls fehler ausgabe
  }
}
 
-

ich glaube ich schreibe mal ein tut
zum debug von programmen seuftz
Schön das dein Tutorial dann mit dir schon seinen ersten Leser gefunden hat ;)
PHP:
$dquery = mysql_query("DELETE FROM tabelle WHERE id = '$delbox2[$lo]'");
PHP:
mysql_db_query ($dbname, $dbquery, $dbverbindung) or die(mysql_error()); #falls fehler ausgabe
Dieses mysql_db_query() ist doch absoluter Schwachsinn, wurde doch schon ausgeführt.

Was für Fehlermeldungen bekommst du denn? Poste nochmal deinen veränderten Code incl. HTML Code.
 
@caminus

jo hast recht

$dquery = mysql_query("DELETE FROM tabelle WHERE id = '$delbox2[$lo]'");

muss natürlich sein:

$dquery = "DELETE FROM tabelle WHERE id = '$delbox2[$lo]'";

trotz allem möchte ich das sich die user selber ein wenig mehr zeit zur fehlersuche
nehmen ...

allen ecken und enden eine echo rein zur kontrolle ob vars den wert haben den mann erwartet und hinter jedem mysql_query
ein die(mysql_error()); schadet bei der entwicklung auch nicht..

bei mir hat ein script minimum 2 fehler wenn ich es anfange :-)
(ja ja das alter smile)

so long :-)
Was für Fehlermeldungen bekommst du denn? Poste nochmal deinen veränderten Code incl. HTML Code.

daran fehlt es auch bei einigen fragern hier im board ..

ps : nobody is perfect :-)
 
Zuletzt bearbeitet:
moment....

Dies ist die HTML Datei mit dem Formular..aber das funktioniert,
die Daten werden richtig übertragen.

PHP:
<?php
include ("config.php");

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "SELECT * from $tabelle order by id desc";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

echo "<form action=\"db_deletework.php\" method=post>";
echo "<input type=\"hidden\" name=\"tabelle\" value=\"$tabelle\">";
echo '<table width="600" border="0">';
echo '
<tr>
<td bgcolor="000000" align="center" width="50"><font color="#ffffff" face="Arial" size="-1"><b>Löschen</b></td>
<td bgcolor="000000" align="center"><font color="#ffffff" face="Arial" size="-1"><b>Anbieter</b></td>
<td bgcolor="000000" align="center" width="50"><font color="#ffffff" face="Arial" size="-1"><b>Land</b></td>
<td bgcolor="000000" align="center" width="100"><font color="#ffffff" face="Arial" size="-1"><b>Währung</b></td>
<td bgcolor="000000" align="center" width="100"><font color="#ffffff" face="Arial" size="-1"><b>Verdienst/h</b></td>
<td bgcolor="000000" align="center" width="100"><font color="#ffffff" face="Arial" size="-1"><b>Datum</b></td>
</tr>
';
 while ($ausgabe = mysql_fetch_array ($result))
 {
 print (" <tr>
 <td bgcolor=\"333333\"align=\"center\" width=\"50\">
 <input type=\"checkbox\" name=\"delbox[]\" value=\"$ausgabe[id]\">
 </td>
 <td bgcolor=\"333333\" align=\"center\"><a href=\"$ausgabe[reflink]\"><font color=\"#ffffff\" face=\"Arial\" size=\"-1\">$ausgabe[anbieter]</a></td>
 <td bgcolor=\"333333\" align=\"center\" width=\"50\"><img src=\"Bilder/$ausgabe[land]\" width=\"24\" height=\"20\" border=\"0\"></td>
 <td bgcolor=\"333333\"align=\"center\" width=\"100\"><font color=\"#ffffff\" face=\"Arial\" size=\"-1\">$ausgabe[waehrung]</td>
 <td bgcolor=\"333333\"align=\"center\" width=\"100\"><font color=\"#ffffff\" face=\"Arial\" size=\"-1\">$ausgabe[verdienst]</td>
 <td bgcolor=\"333333\"align=\"center\" width=\"100\"><font color=\"#ffffff\" face=\"Arial\" size=\"-1\">$ausgabe[datum]</td>
 </tr>");
 }
echo '</table>';
echo '<input type=submit name="SUBMIT" value="Löschen">';
echo '</form>';
mysql_close ($dbverbindung)
?>

Und hier jetzt das Script das die Verbindung zur Datenbank aufbaut und
anschließend die Einträge löschen "sollte"!

PHP:
<?php

include ("config.php");

$dbverbindung = mysql_connect ($host, $user, $password);

if(isset($_POST[delbox])) {

   $delbox2 = $_POST[delbox];
   foreach($delbox2 as $k => $v) {

      $delbox[$k] = $v;

   }
   foreach($delbox as $k => $v) {
	  $dbanfrage = mysql_query("DELETE FROM $tabelle WHERE id='$v'");
   }
}

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
echo "<a href=\"db_ausgabe.php?tabelle=$tabelle\">Eintrag ansehen.</a>";
mysql_close ($dbverbindung);

?>

Die variablen $tabelle, $v, $k werden alle richtig nach dem foreach befehl übertragen...vieleicht ist der Datenbankbefehl falsch?

Gruß Patrick...
 
Zuletzt bearbeitet:
ich schmeiss gleich das handtuch grrr..
PHP:
foreach($delbox as $k => $v) {
      echo "DELETE FROM $tabelle WHERE id='$v'";
      $dbanfrage = mysql_query("DELETE FROM $tabelle WHERE id='$v'") or die(mysql_error());

   }

fehlermeldungen bitte und wie sieht das echo vom query aus?
 
-

PHP:
<?php

include ("config.php");

$dbverbindung = mysql_connect ($host, $user, $password);

if(isset($_POST[delbox])) {

   $delbox2 = $_POST[delbox];
   foreach($delbox2 as $k => $v) {

      $delbox[$k] = $v;

   }
   foreach($delbox as $k => $v) {
      $dbanfrage = "DELETE FROM $tabelle WHERE id='$v'";
      $flag = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
  }
}

if ($flag) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
echo "<a href=\"db_ausgabe.php?tabelle=$tabelle\">Eintrag ansehen.</a>";
mysql_close ($dbverbindung);

?>
Wenn du mysql_query() benutzt, musst du vorher die die Datenbank mit mysql_select_db() auswählen oder du benutzt mysql_db_query(), aber nicht beides.
 
Zuletzt bearbeitet:
Bei diesem Code:

PHP:
<?php

include ("config.php");

$dbverbindung = mysql_connect ($host, $user, $password);

if(isset($_POST[delbox])) {

   $delbox2 = $_POST[delbox];
   foreach($delbox2 as $k => $v) {

      $delbox[$k] = $v;

   }
foreach($delbox as $k => $v) {
      echo "DELETE FROM $tabelle WHERE id='$v'";
      $dbanfrage = mysql_query("DELETE FROM $tabelle WHERE id='$v'") or die(mysql_error());
   }
}

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
echo "<a href=\"db_ausgabe.php?tabelle=$tabelle\">Eintrag ansehen.</a>";
mysql_close ($dbverbindung);

?>

DELETE FROM k_Surfen WHERE id='6'No Database Selected
 
Oh, verdammt...es funktioniert! Prima...vielen Dank!
Was trinkt Ihr? Danke für diese Hilfe!
Wenn ich mal irgendwas für euch tun kann lasst es mich wissen!
Habe gute Quellen zum Menschenhandel, nein Spass! :-)
 
Zuletzt bearbeitet:
Zurück