MySQL - Beitrag löschen

  • PHP

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von jul.

    MySQL - Beitrag löschen

    hallo zusammen
    ich hab mir auf meiner homepage ein feedback button eingebaut der auf ein formular verweißt in dem man halt ein feedback abgeben kann
    jetzt hab ich mehrere feedback's die nicht dort hingehören/beleidigungen die ich gern löschen würde
    dafür immer auf die datenbank zu connecten ist ja auch doof deshalb hab ich mir gedacht das ich villeicht eine zeile die adminlevel heißt hinzufüge dann eine if abfrage starte ob admin oder nicht

    jetzt meine frage :

    PHP-Quellcode

    1. echo "<table>";
    2. while($row = mysql_fetch_array($result)){
    3. echo '
    4. <link href="style.css" rel="stylesheet" type="text/css">
    5. <br>
    6. <br>
    7. <br>
    8. <div id="box">Name: '.$row[autor].'<br>Note: '.$row[feedback].'<br>Kommentar: '.$row[kom].'<br><br>'.$row[zeit].'</div>';
    9. }
    10. echo "</table>";


    wie kann ich jetzt genau den beitrag der dort angezeit wird löschen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nikeee13“ ()

    mit dem adminlevel meine ich einfach nur das wenn er die feeds ausliest da die jeder sehen kann überprüft wird ob gewisse user das recht haben die beiträge zu löschen jenach adminlevel also 0 oder 1 wird der button zum löschen angezeigt
    jeder user muss sich anmelden um ein feedback abzugeben ich trage bei meinem acc in der datenbank das adminlevel 1 ein alle anderen bleiben auf 0 bis auf wenige ausnahme die halt von mir das recht bekommen zu löschen
    somit können dann nur gewisse leute die beiträge die nichts dort verloren haben weil die einfach nur unnötiger spam oder sonst was sind löschen
    tja dann machst du es so (musst noch anpassen, is ein beispiel) :

    PHP-Quellcode

    1. $sql = "SELECT * FROM `tbl_user` WHERE `username` = '<mein username>'";
    2. $res = mysql_uery($sql);
    3. if(!$res) { die(mysql_error()); }
    4. $row = mysql_fetch_array($res);
    5. if($row['isAdmin'] == 1)
    6. {
    7. //juhu admin
    8. } else {
    9. //nope kein admin
    10. }
    ok danke dir das hät ich hinbekommen ^^
    mein problem ist ja nur wie ich die daten lösche die ich nicht will
    habe deinen code jetzt so verwended:

    PHP-Quellcode

    1. <?php
    2. $select = "DELETE FROM `bewertung` WHERE `autor` = '[autor]'";
    3. echo "Feed gelöscht";
    4. ?>

    problem das echo wird nicht angezeigt und der beitrag auch nicht gelöscht was mach ich falsch?
    momentan sieht das ganze so aus

    PHP-Quellcode

    1. $select = "DELETE FROM bewertung WHERE autor='[autor]'";
    2. $result = mysql_query($select);
    3. if($result){
    4. echo "Feed Gelöscht!";
    5. }


    das echo wird ausgegeben aber der beitrag nicht gelöscht
    hat sich nichts geändert der feed bleib echo kommt
    ich glaub mit dem ganzen code kannst du/ihr mehr anfangen
    deshalb hier:

    PHP-Quellcode

    1. <?php
    2. $host = "localhost";
    3. $user = "";
    4. $pass = "";
    5. $dbase = "";
    6. $db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen");
    7. mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen");
    8. $select = "select * from bewertung";
    9. $result = mysql_query($select,$db);
    10. if($result){
    11. echo "<table>";
    12. while($row = mysql_fetch_array($result)){
    13. echo '
    14. <link href="style.css" rel="stylesheet" type="text/css">
    15. <br>
    16. <br>
    17. <br>
    18. <div id="box">Name: '.$row[autor].'<br>Note: '.$row[feedback].'<br>Kommentar: '.$row[kom].'<br><br>'.$row[zeit].'
    19. <br><center><a id="btn2" href="feedloschen.php">Löschen</a></center></div>';
    20. }
    21. echo "</table>";
    22. }
    23. ?>
    24. <?php
    25. echo ' <link href="style.css" rel="stylesheet" type="text/css">
    26. <br>
    27. <br>
    28. <br>
    29. <center><a id="btn2" href="/">Zurück</a></center>
    30. ';
    31. ?>

    so das ist der code momentan noch ohne admin abfrage die kommt erst später
    der button der den beitrag löschen soll wird unter jedem beitrag angezeigt wie gewünscht
    hier der code der .php zum löschen

    PHP-Quellcode

    1. <?php
    2. $host = "localhost";
    3. $user = "";
    4. $pass = "";
    5. $dbase = "";
    6. $db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen");
    7. mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen");
    8. $select = "DELETE FROM bewertung WHERE autor='[autor]'";
    9. $result = mysql_query($select);
    10. if(!$result)
    11. {
    12. echo(mysql_error());
    13. } else {
    14. echo("Feed Gel&ouml;scht!");
    15. }
    16. ?>

    ich hoffe das hilft nun weiter
    Wie ist eigentlich die Tabelle aufgebaut?
    autor, feedback, kom, zeit?
    Ich würde noch ein Feld mit ID hinzufügen, wo jeder Eintrag eine ID zugewiesen bekommt.
    Dann kannst du die Einträge leichter identifizieren und jeden Eintrag nach der ID löschen
    gut, dann machst dus so:

    PHP-Quellcode

    1. echo '
    2. <link href="style.css" rel="stylesheet" type="text/css">
    3. <br>
    4. <br>
    5. <br>
    6. <div id="box">Name: '.$row[autor].'<br>Note: '.$row[feedback].'<br>Kommentar: '.$row[kom].'<br><br>'.$row[zeit].'
    7. <br><center><a id="btn2" href="feedloschen.php?id=' . $row[ID] . '">Löschen</a></center></div>';

    und

    PHP-Quellcode

    1. <?php
    2. $host = "localhost";
    3. $user = "";
    4. $pass = "";
    5. $dbase = "";
    6. $db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen");
    7. mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen");
    8. $select = "DELETE FROM bewertung WHERE ID='" . $_GET["id"] . "";
    9. $result = mysql_query($select);
    10. if(!$result)
    11. {
    12. echo(mysql_error());
    13. } else {
    14. echo("Feed Gel&ouml;scht!");
    15. }
    16. ?>
    ok soweit so gut klappt scheinbar bisher fast ganz xD

    SQL-Abfrage

    1. You have an error in your SQL syntax; check the manual that corresponds
    2. to your MySQL server version for the right syntax to use near ''' at
    3. line 1

    aber das kommt bei der feedloschen.php
    EDIT//
    hat nur ein ' gefehlt habs übersehn

    EDIT2//

    funzt wunderbar danke dir

    EDIT3//
    hab da jetzt doch noch ein problem ich arbeite mit session und jetzt frag ich mich grade wie ich herausfinde ob ich als Admin eingeloggt bin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „saarländer“ ()