Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion Löschbutton für MySQL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Funktion Löschbutton für MySQL

    Hallo Community

    BEISPIEL
    ID Name Adresse Löschen
    1 Max Mustermann Hauptstrasse 4
    2 Milla Musterfrau Nebenstrasse 5
    3 Morice Musterjunge Seitenstrasse 6



    Ich will auf einer MySQL Ausgabeliste einen Löschvorgang eines MySQL Eintrages auslösen - Symbolisch steht das Icon für einen Löschknopf
    wie kliege ich das am besten hin ?


    In meiner Ausgabe habe ich für die jeweilige Zelle eine Funktion genommen mit Übergabe der entsprechenden id ... <td>". function_ds_delete("id"). "</td>"
    Es wird mir auch ungefähr so angezeigt wie auf der oberen Beispiel-Tabelle

    PHP-Code:
    function function_ds_delete($id_delete){  
        
    $test ='    <a href="./ausgabe.php"> <img src="./data/delete_button.png" alt="DELETE"> </a>';

            include (
    "./include/db_login.php");  

            
    $conn = new mysqli($servername$user$pw$db); 

            
    $sql "DELETE FROM evente WHERE id=$id_delete";  

            
    $conn->close(); 

        return 
    $test;








  • #2
    Per Link (also GET-Methode) sollte gar nicht gelöscht werden. Verwende dafür ein Formular mit POST-Methode.

    Kommentar


    • #3
      Und vielleicht mal Prepared Statements verwenden, wenn dir nicht irgend jemand die ganze Datenbank löschen soll

      https://www.php.net/manual/de/mysqli...statements.php

      Aber so lange du die Verbindung eh nur öffnest und schliesst und sonst nichts damit machst: ¯\\_(ツ)_/¯
      You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

      Kommentar


      • #4
        Leute^^' Es ist doch der ganze Ansatz falsch.

        dustinator

        Lass von deiner Funktion ein Formular zurückgeben. Das Formular enthält ein hidden Input-Feld mit der ID des Datensatzes und den Submit-Button. Und wie schon erwähnt wurde, nutz in dem Formular POST als Methode.
        Als Action gibst du ein anderes Script an, das sich dann auch nur um das Löschen des Datensatzes kümmert. Da packst du die Validierung usw rein und anschließend den Aufbau zur Datenbank und das Lösch-Statement als Prepared Statement.

        Das was du aktuell da versuchst... geht nicht. Wenn der Link zur Ausgabe ausgegeben wurde, kannst du nicht noch nachträglich beim Klick die Funktion aufrufen, PHP hat seinen Job an der Stelle schon sehr lange erledigt.
        Eine Alternative wäre noch JavaScript zu nutzen, damit würdest du das Formular im Endeffekt durch einen Ajax-Aufruf an dein Backend-Script ersetzen.
        Relax, you're doing fine.
        RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

        Kommentar

        Lädt...
        X