ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
467
467
EMPFEHLEN
-
Tach zusammen!!
Ich mache gerade ein kleines Nachrichtensystem. Dort sollte man mit checkboxen mehrere Nachrichten auswählen können und dann alle ausgewählen mit einem Knopfdruck löschen...
Habe hierzu folgendes gemacht:
Checkboxen (sind in einer Schleife):
Delete Script:PHP-Code:...
<input type=\"checkbox\" name=\"delbox[$i]\">
...
PHP-Code:mysql_connect("localhost","xx","xx");
mysql_select_db("usr_web640_3");
for ($i = 1; $i <= count($_POST['delbox']); $i += 1)
{
$sql="DELETE FROM nachrichten WHERE ID = ".$_POST[delbox] [$i];
mysql_query($sql);
}
Irgendwie funktioniert es aber nicht...
es kommt keine Fehlermeldung, es löscht einfach keine Datensätze...
Kann mir jemand helfen?
Besten Dank im Voraus
Gruss stonk
-
PHP-Code:
echo '<input type="checkbox" name="delbox['.$i.']">';
Leerzeichen zwischen ['delbox'] und [$i] halte ich für sinnlos.PHP-Code:mysql_connect("localhost","xx","xx");
mysql_select_db("usr_web640_3");
for ($i = 1; $i <= count($_POST['delbox']); $i += 1)
{
$sql = "DELETE FROM `nachrichten` WHERE `ID` = '".$_POST['delbox'][$i]."'";
mysql_query($sql);
}
»
-
Ich halte das $i für sinnlos. Es sollte da lieber die Id des Datensatzes stehen.
also nach dem Beispiel
Code :1 2 3 4 5
$sql = "SELECT * FROM news_table LIMIT 0,20"; //20 einträge while($row = mysql_fetch_array($sql){ //ausgaben echo '<input type="checkbox" name="delbox['.$i.']" value="'.$row['id'].'">'; }
weil so stimmen dann auch die ids die er löscht...Geändert von xErY (12.07.05 um 10:37 Uhr)
-
danke für deine Antwort!!
aber irgendwie funktioniert es immer noch nicht....
-
Danke auch für deine Antwort!!
wie müsste dann die DELETE schleife aussehen?
-
so
ungefähr musst ihn auf deine bedürfnisse anpassen
PHP-Code:foreach($_POST['delbox'] as $box){
$sql = "DELETE FROM nachrichten WHERE ID= ' " .$box. " ' " ;
if(mysql_query($sql)){
echo 'Datensatz mit der ID :"'.$box.'" wurde gelöscht<br>';
} else {
echo 'Datensatz konnte nicht gelöscht werden';
}
}
-
suuppii!!
funktioniert!!
danke viel mal!!
-
immer wieder gerne
freut mich wenn ich helfen kann
-
Hallo nochmals...
ist irgendwie schon komisch... gestern hat es funktioniert und als ich es vorhin wieder mal ausprobiert hatte, löschte es immer nur einen Datensatz, auch wenn ich mehrere ausgewählt hatte...
Hier mein code:
delete script:
die inputbox:PHP-Code:mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("nachrichten");
foreach($_POST['delbox'] as $box){
$sql = "DELETE FROM nachrichten WHERE nachricht_id = ' " .$box. " ' " ;
if(mysql_query($sql)){
header('Location: index.php?id=nachrichten&status=okdelete');
exit();
} else {
header('Location: index.php?id=nachrichten&status=nokdelete');
exit();
}
}
Weiss jetz wirklich nicht weiter...PHP-Code:$i = $anzeige['nachricht_id'];
echo "<input type=\"checkbox\" name=\"delbox['.$i.']\" value=\"$i\">";
Besten dank an alle
gruss stonkGeändert von stonk (13.07.05 um 10:58 Uhr)
-
also für jedes element von $_POST['delbox' als $box legste dein SQL-Statement fest.PHP-Code:
mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("nachrichten");
foreach($_POST['delbox'] as $box){
$sql = "DELETE FROM nachrichten WHERE nachricht_id = ' " .$box. " ' " ;
if(mysql_query($sql)){
header('Location: index.php?id=nachrichten&status=okdelete');
exit();
} else {
header('Location: index.php?id=nachrichten&status=nokdelete');
exit();
}
}
Wenn das SQL-Statement gequeried werden kann, also der Datensatz gelöscht werden kann. Geht er auf die seite "index.php?id=nachrichten&status=okdelete'"
Das heisst doch laut meiner Logik, dass wenn einmal der Datensatz gelöscht werden konnte, er das script verlässt und sogar den restlichen code aufgrund des EXIT(); abbricht.
also
so müsste das gehenPHP-Code:mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("nachrichten");
$true = 1;
foreach($_POST['delbox'] as $box){
$sql = "DELETE FROM nachrichten WHERE nachricht_id = ' " .$box. " ' " ;
if(!mysql_query($sql)){
$true = 0;
}
if($true){
header('Location: index.php?id=nachrichten&status=okdelete');
exit();
} else {
header('Location: index.php?id=nachrichten&status=nokdelete');
exit();
}
}
-
geht leider immer noch nicht... es löscht immer noch nur einen Datensatz und nicht mehrere....
-
jo ich bin ja auch was dämlich sorry hatte noch fast gepennt

PHP-Code:mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("nachrichten");
$true = 1;
foreach($_POST['delbox'] as $box){
$sql = "DELETE FROM nachrichten WHERE nachricht_id = ' " .$box. " ' " ;
if(!mysql_query($sql)){
$true = 0;
break;
} else {
$true = 1;
}
}
if($true){
header('Location: index.php?id=nachrichten&status=okdelete');
exit();
} else {
header('Location: index.php?id=nachrichten&status=nokdelete');
exit();
}
Geändert von xErY (13.07.05 um 14:37 Uhr)
-
danke viel mals, jetzt funktionierts
perfekt!!
-
jo sorry nochmal war verplant D:
Ähnliche Themen
-
ASP/VB Auslesen von Checkboxen & löschen der Datensätze
Von fassi91 im Forum ASPAntworten: 2Letzter Beitrag: 21.05.10, 09:53 -
mehrere Datensätze mit Checkboxen verändern
Von sniffler im Forum PHPAntworten: 3Letzter Beitrag: 18.11.08, 12:04 -
mit Checkboxen Datensätze speichern
Von schlimbim im Forum PHPAntworten: 6Letzter Beitrag: 29.06.06, 16:05 -
Datensätze mittels Checkboxen löschen
Von butrov im Forum PHPAntworten: 2Letzter Beitrag: 02.10.03, 17:37 -
Mit checkboxen löschen
Von Slater im Forum PHPAntworten: 3Letzter Beitrag: 10.09.02, 00:02





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren