WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- löschen mit radio Button

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. FRagen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » löschen mit radio Button - 21 Nov 2017 Antworten
im Forum für Webhosting Homepage gefunden:
löschen mit radio Button
mariep
Pixelschubser
Threadstarter




Beiträge: 24

ich brauche schon wieder Hilfe, ich versuche gerade daten aus der DB zu löschen , durch click auf das radio B. , es kommt keine Fehlermeldung aber es löscht auch nicht !

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27:
for ($i = 0; $i < $num; $i++) {
        $row = mysql_fetch_array($result);
  echo '
<tr>
<td>'.$row[k_ID].'</td>
<td>'.$row[nameK].'</td>
<td>'.$row[vornameK].'</td>
<td>'.$row[strasse].'</td>
<td>'.$row[plz].'</td>
<td>'.$row[stadt].'</td>
<td>'.$row[land].'</td>
<td><input type="checkbox" name="delete[]" value ="$row[k_ID]"></td>
</tr>';

}
echo '</table>';
echo '<input type="submit" value="Kunde Löschen" name="loeschen">';


if (isset($_POST['loeschen'])){

$kid = $_POST['delete[]'];

$del = "delete from kunde where k_ID = '$kid'";
$res =mysql_query($del);
echo mysql_error();
}

Diese Nachricht wurde geändert von: mariep
  Profil   E-Mail   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 456

versuch mal mit echo $del die query auszugeben, da müßtest dann entdecken was net stimmt.
das problem liegt am kid array, des kannst du so nicht einer query übergeben

---
We are born wet, naked and hungry, then things got worse!

Diese Nachricht wurde geändert von: NetDrag
  Profil   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

error_reporting(E_ALL) an?

Ansonsten solltest du dein Post-Feld erst mal durch mysql_real_escape_string jagen damit da keiner Mist einschleust.
Nen Fehler im SQL seh ich jetzt so gerade nicht, aber es ist normalerweise so, dass man SQL-Schlagwörter groß schreibt.

Hast du schon mal nachgeschaut, ob im Quelltext überhaupt die ID im Value drinsteht?

  Profil   Editieren   Zitieren
mariep
Pixelschubser
Threadstarter




Beiträge: 24

es kommt nicht mal bis dahin, ich habe gleich nach " if (isset($_POST['loeschen'])){ "
eine test Ausgabe gemacht : echo "test";, Es kommt leider nicht raus !


  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Und du hast das Formular auch abgeschickt? ;)

  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 845

Der Fehler liegt bei: $kid = $_POST['delete[]'];

Gibt man im HTML Feldnamen in der Form delete[] an, erzeugt PHP daraus ein Array. Da du nun in einer Schleife die Checkboxen ausgibst (es sind keine Radios *btw*), kannst du auf der HTML-Seite auch mehrere auswählen, welche der Browser dann alle übermittelt. Im Umkehrschluß muss man also auch in PHP mit einem Array arbeiten.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
if (isset($_POST['delete']) && is_array($_POST['delete']) && count($_POST['delete']) > 0) {
  $ids = '';
  foreach($_POST['delete'] as $kid) {
    $ids .= ','.(int)$kid;
  }
  $sql = "DELETE FROM kunde WHERE k_ID IN ('".substr($ids, 1)."')";
}


---
Weaverslave

  Profil   Website   Editieren   Zitieren
mariep
Pixelschubser
Threadstarter




Beiträge: 24

error_reporting(E_ALL) gibt so was raus "Notice: Use of undefined constant k_ID - assumed 'k_ID' in ...line " aber k_ID wird trotzdem ausgegeben. k_ID=1.

Ich habe das Formular auch abgeschickt. Es tut nicht!
Ich habe auch die Korrektur gemäß @von subjective, immer nichts, es kommt gar nicht mal in der If -Abfrage rein.

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

gib mal den link zu der Seite.

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

kann es sein, das du das formular per get übergibst.
dann würden deine ganzen vars in der adresszeile drin stehn, aber sehr schlecht mit
arrays machbar ;)

desweiteren die zeile 22:
wieso steht da $_POST['delete[]']??
wenn du der anderen var das array von array delete zuweien willst, musste das aber
auch schon machen

$kid=array();
$kid = $_POST['delete'];

und das von subjective muss doch fuktionieren

noch was hilfreiches
print_r($_POST);

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

Diese Nachricht wurde geändert von: raiserle
  Profil   Editieren   Zitieren
mariep
Pixelschubser
Threadstarter




Beiträge: 24

Ich arbeite noch auf die Platte C.
hier ist der gesamt Quellecode !

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69:
 <?php
header("cache-Control: no-cache, must-revalidate");
session_name('OnlineA');
session_start();
include ("verbinden.php");
?>
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<title>Kunde</title>
</head>
<body bgcolor="#9FC0FD">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php
// error_reporting(E_ALL);
$query = "select * from kunde";
$result = mysql_query($query);

$num = mysql_numrows($result);
echo "$num Kunde gefunden
";
echo '

<table border>
<tr><td>k_ID</td><td>Name</td><td>Vorname</td><td>Firma:</td><td>Strasse</td><td>PLZ</td><td>stadt</td><td>land</td><td>Löschen</td></tr>';
for ($i = 0; $i < $num; $i++) {
        $row = mysql_fetch_array($result);
echo '
<tr>
<td>'.$row[k_ID].'</td>
<td>'.$row[nameK].'</td>
<td>'.$row[vornameK].'</td>
<td>'.$row[nameFirma].'</td>
<td>'.$row[strasse].'</td>
<td>'.$row[plz].'</td>
<td>'.$row[stadt].'</td>
<td>'.$row[land].'</td>
<td><input type="checkbox" name="delete" value ="'.$row[k_ID].'"></td>
</tr>';

}
echo '</table>';

//echo $row[k_ID];

 error_reporting(E_ALL);

echo $row[k_ID];

if (isset($_POST['loeschen'])){
  //echo "test"; // wird nicht ausgegeben
if (isset($_POST['delete']) && is_array($_POST['delete']) && count($_POST['delete']) > 0) {
    $ids = '';
  foreach($_POST['delete'] as $kid) {
    $ids .= ','.(int)$kid;

  }
  $sql = "DELETE FROM kunde WHERE k_ID IN ('".substr($ids, 1)."')";
  $res =mysql_query($sql);

}
 echo mysql_error();
}
 mysql_close($db);
?>
<input type="submit" value="Kunde Löschen" name="loeschen">
</form>
</body>
</html>

Diese Nachricht wurde geändert von: mariep
  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Lass doch mal das isset ueber loeschen weg. Das ist ja jetzt ueberfluessig durch die Abfrage fuer delete.

  Profil   Editieren   Zitieren
mariep
Pixelschubser
Threadstarter




Beiträge: 24


ich habe Isset über löschen weggenommen, so was habe ich jetzt raus:
Notice: Undefined index: loeschen in C:\Programme

Diese Nachricht wurde geändert von: mariep
  Profil   E-Mail   Editieren   Zitieren
subjective
Forenheld




Beiträge: 845

isset() ist schon richtig. Man muß auch prüfen ob die Variablen überhaupt gesetzt sind.

Die andere Fehlermeldung kommt von den fehlenden Quotes um die Arrayschlüssel bei $row - das sind nämlich Stringkonstanten. Also genau wie auch das 'loeschen' in $_POST.


---
Weaverslave

Diese Nachricht wurde geändert von: subjective
  Profil   Website   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

zeile 38:
1:
<td><input type="checkbox" name="delete" value ="'.$row[k_ID].'"></td>

sollte doch ein array werden, der delete
also machs auch
1:
<td><input type="checkbox" name="delete[]" value ="'.$row[k_ID].'"></td>


so, wenn das dann so machst, sollte es auch gehen

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 171

nochwas...
benutze doch, wenn du dir nicht sicher bist, was in den vars steht
print_r();
in deinem fall
print_r($_POST);

wenn du das gemacht hättest, wäre dir aufgefallen, das $_POST['delete'] kein array
ist. desweiteren sollte doch ein fehler bei der foreach kommen , da
ja dort kein array drin steht ....

gruß raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten


Forum » PHP & MySQL » löschen mit radio Button

Aktuelle Beiträge zur Hilfe im Forum für Homepage - löschen mit radio Button im Forum Homepage Hosting AntwortenLetztes Posting
Top 10 Forex Brokers and Trading Platforms to trade online
in "PHP & MySQL"
0 16.11.2017 09:37 von Pelelliki
Schnell viel Geld ohne Aufwand verdienen, mit dem Smartphone
in "PHP & MySQL"
5 07.09.2017 19:25 von Angel26
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
0 03.09.2017 22:01 von Tainor
CMS für Online Shop
in "PHP & MySQL"
20 07.08.2017 05:54 von Isasimon
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
Fertige PHP Scripte für Ihre Homepage
in "PHP & MySQL"
0 16.12.2015 12:02 von PHP-Script-Shop
Callback Befehl ++ Session ID Eintrag +++
in "PHP & MySQL"
2 16.12.2015 11:57 von PHP-Script-Shop
PHP befehl ausführen
in "PHP & MySQL"
9 16.12.2015 11:52 von PHP-Script-Shop
suche online community script
in "PHP & MySQL"
3 16.12.2015 11:51 von PHP-Script-Shop
Text basierender Chat
in "PHP & MySQL"
5 16.12.2015 11:51 von PHP-Script-Shop



Besucher : 5376100    Heute : 468     Gestern : 1431     Online : 22     21.11.2017    9:18      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Die letzten 30 Referrer :

1 4:17 - google.com/search - content
2 4:15 - google.com/search - content
3 3:57 - google.com/search - content
4 3:13 - google.com/search - content
5 2:41 - google.com/search - content
6 2:22 - google.com/search - content
7 2:18 - google.com/search - content
8 2:16 - google.com/search - content
9 2:13 - google.com/search - content
10 2:12 - google.com/search - content
11 2:10 - google.com/search - content
12 2:09 - google.com/search - content
13 2:05 - google.com/search - content
14 2:02 - google.com/search - content
15 1:25 - google.com/search - content
16 1:02 - google.com/search - content
17 23:32 - google.com/search - content
18 22:58 - google.com/search - content
19 21:09 - google.com/search - content
20 21:00 - google.com/search - content
21 20:51 - bing.com/search - patchday november 2017
22 18:04 - google.com/search - content
23 18:03 - google.com/search - content
24 18:00 - google.com/search - content
25 17:34 - google.com/search - content
26 17:30 - google.com/search - content
27 16:08 - google.com/search - content
28 15:44 - bing.com/search - knistern boxen pc
29 15:13 - google.com/search - content
30 14:30 - google.com/search - content

Nach oben