Ergebnis 1 bis 9 von 9

Thema: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

  1. #1
    Teeny
    Registriert seit
    21.03.2017
    Beiträge
    22
    Danke
    2
    Bekam 0 mal "Danke" in 0 Postings

    Standard DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Hallo zusammen,
    kaum habe ich mein letztes Problem (mit EURER Unterstützung) gelöst, taucht das nächste auf. Ich möchte die Flinte nicht in´s Korn werfen und möchte nach 4 Wochen harter Einarbeitung bei der Stange bleiben.
    Angeblich ist das Löschen bestimmter Datensätze ein Klacks. Nach meinen 3 Fachbüchern in PHP und MySQL einfach einen DELETE Befehl absetzen, eine WHERE Bedingung einbauen und fertig! Denkste.
    Ich möchte aus einer größeren Tabelle die mit AUTO_Increment erstellt wird, alle Datensätze löschen, die in einem Tabellenfeld ein Datum (DATE) haben, das gleich ein von mir vorgegebenes Datum (per POST) sind. In einigen Versuchen wurde immer das Feld $num angemeckert. Hier das Script und danach eine Fehlermeldung.

    HTML-Code:
    <html>
    <body>
    <p>Datum in der Form: JJJJ-MM-TT eingeben, <br />
    Reservierungen bis zum Datum werden gelöscht <br /> <br />
    Senden Sie anschließend das Formular ab.</p>
    
    <form action = "reservierungen_loeschen.php" method = "post">
        <p><input name = "datum" /> Reservierungen bis Datum löschen</p>
        <p><input type = "submit" />
        <input type = "reset" /></p>
    </form>
    
    </body>
    </html>
    PHP-Code:
    <html>
    <?php
    header
    ('Content-Type: text/html; charset=ISO-8859-1');
    ?>
    <body>

    <?php
            
        $datum 
    $_POST['datum'];
        echo 
    "datum: " $datum;
        echo 
    "<br />";
        
    $datum2 "'" $datum "'";
        echo 
    "datum2: " $datum2;
        echo 
    "<br />";
        
        
    $con mysqli_connect("","root");
        
    mysqli_select_db($con"firma");
        
        
    $sql "select * from reservierungen"
                  
    " WHERE resdatum = '$datum2');
        
    $res = mysqli_query($con,$sql);
        
    $num = mysqli_num_rows($res);    

        if (
    $num>0) 
        {
             
    $query2 = "DELETE FROM reservierungen"
                    . " 
    WHERE resdatum '$datum2'";
     
             
    $result2 = mysql_query($con$query2);
             if (
    $result2)
                {
                print"
    <p>Reservierungsdatum: <b>$datum2</bwurde gelöscht.<p";
                }
        } 
        else 
        { 
            print"
    <p>Datensatz nicht vorhanden!</p>";
        } 
    */
        /* Verbindung schließen */
        mysqli_close(
    $con);
    ?>
    </body>
    </html>
    Und hier die Fehlermeldung

    Code:
    Parse error:  syntax error, unexpected 'DELETE' (T_STRING) in C:\xampp\htdocs\la_terrazza\reservierungen\loeschen\reservierungen_loeschen.php on line 26
    Muß ich eigentlich vor dem DELETE Befehl einen SELECT absetzen? Klinkt eigentlich logisch, denn erst auswählen dann sagen was mit den Daten passieren soll.

    Für Eure Hilfe bin ich sehr dankbar.

    An dieser Stelle nochmal meinen Dank an "Arne", von dem ich schon einige Tipps bekommen habe.
    Geändert von Arne Drews (18.04.2017 um 11:51 Uhr) Grund: MOD: Code-Tags angepasst

  2. #2
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.026
    Danke
    19
    Bekam 108 mal "Danke" in 107 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Ich habe Deine Codes mit entsprechenden Tags versehen.
    Am Code-Highlightning solltest Du Deinen Fehler bereits erkennen. Ein vernünftiger Editor hätte Dir in ähnlicher Weise geholfen.

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    21.03.2017
    Beiträge
    22
    Danke
    2
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Hallo Arne,
    das Hightlightning hat mir wenig geholfen, ich setzte das Notepad++ als Editor ein.
    Ich kann also nur vermuten, dass das Problem wieder einmal die Quotes sind. Nachdem ich die einfachen Quotes ein- und ausgebaut habe und das Post-Datum unverändert in den Select übernommen habe, ich der Fehler "unexpected DELETE" immer noch da. Sorry, aber ohne einen weiteren Hinweis auf die Fehlerursache bin ich ratlos.

    Habe jetzt mal die SQL-Befehle geprüft und angepaßt. Hier das neue Coding.
    Code:
    <html>
    <?php
    header('Content-Type: text/html; charset=ISO-8859-1');
    ?>
    <body>
    
    <?php
        
        $datum = $_POST['datum'];
        echo "datum: " . $datum;
    
        $datum2 = "'" . $_POST['datum'] . "'";
        
        $con = mysqli_connect("","root");
        mysqli_select_db($con, "firma");
        
        $sql = "select * from reservierungen WHERE resdatum = $datum2";    
    
        $res = mysqli_query($con,$sql);
        $num = mysqli_num_rows($res);    
    
        if ($num>0) 
        {
             $query2 = "DELETE FROM reservierungen WHERE resdatum = $datum2";
     
             $result2 = mysql_query($con, $query2);
             if ($result2)
                {
                print"<p>Reservierungsdatum: <b>$datum2</b> wurde gelöscht.<p> ";
                }
        } 
        else 
        { 
            print"<p>Datensatz nicht vorhanden!</p>";
        } 
    
        /* Verbindung schließen */
        mysqli_close($con);
    ?>    
    </body>
    </html>
    Der Fehler ist weg - aber ... ein neuer unverständlicher Fehler taucht auf - dumm gelaufen.

    Code:
    datum: 2017-04-16
    Warning:  mysql_query() expects parameter 1 to be string, object given in C:\xampp\htdocs\la_terrazza\reservierungen\loeschen\reservierungen_loeschen.php on line 27
    vielleicht sollte ich besser die Flinte in's Korn werfen

    Hinweis: Line 27 ist der IF Befehl nach dem DELETE!
    Geändert von hpuettma (18.04.2017 um 13:48 Uhr)

  4. #4
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.026
    Danke
    19
    Bekam 108 mal "Danke" in 107 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    PHP-Code:
       $sql "select * from reservierungen"
                  
    " WHERE resdatum = '$datum2'); 
    Hier fehlt ein schließendes DoubleQuote vor der letzten Klammer!

  5. #5
    Samurai
    Registriert seit
    24.10.2016
    Beiträge
    218
    Danke
    0
    Bekam 15 mal "Danke" in 14 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    AUGEN AUF!!!

    mysqli_query
    mysqli_num_rows
    mysql_query

    Soetwas darf man ruhig auch mal alleine finden, man muss nur mal die Fehlermeldung richtig lesen

    Wieso überhaupt ein select vor dem delete?

    Weiterhin: https://www.google.de/?gws_rd=ssl#q=...ion+verhindern

    Und:

    16.14. Warum soll ich nicht SELECT * schreiben?
    http://www.php-faq.de/q/q-sql-select.html
    Geändert von Bandit (18.04.2017 um 14:04 Uhr)

  6. #6
    Teeny
    Themenstarter

    Registriert seit
    21.03.2017
    Beiträge
    22
    Danke
    2
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    sorry Arne, war der Meinung, dass man sowohl mysql_query als auch mysqli_query schreiben darf. Hängt doch wohl nur an der PHP-Version, oder nicht? Danke für die LINKS werde mich melden, wenn ich das Problem gelöst habe.

    - - - Aktualisiert - - -

    der Fehler ist weg und das Programm läuft perfekt. Tausend Dank für die nette Unterstützung. Ich habe das Problem, dass mein Englisch nur mäßig ist und ich daher die Fehlermeldungen, vor allem wenn sie sehr technisch sind, schlecht interpretieren kann.
    Danke nochmals.

  7. #7
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.026
    Danke
    19
    Bekam 108 mal "Danke" in 107 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Der Hinweis auf mysqli_query kam von Bandit, nicht von mir... Erkennt man auch am Tonfall...
    Mit mysql_* solltest Du gar nicht mehr arbeiten. Das steht Dir ab PHP 7 endlich nicht mehr zur Verfügung.

    Gruß Arne

  8. #8
    Samurai
    Registriert seit
    24.10.2016
    Beiträge
    218
    Danke
    0
    Bekam 15 mal "Danke" in 14 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Zitat Zitat von hpuettma Beitrag anzeigen
    der Fehler ist weg und das Programm läuft perfekt.
    Perfekt ist das nur, wenn du die Links durchgearbeitet hast und dein Script entsprechend angepasst hast.

    Zitat Zitat von Arne Drews Beitrag anzeigen
    Erkennt man auch am Tonfall...
    Witzig!

  9. #9
    Moderator Avatar von Arne Drews
    Registriert seit
    20.01.2016
    Ort
    Friedrichstadt, NF
    Beiträge
    1.026
    Danke
    19
    Bekam 108 mal "Danke" in 107 Postings

    Standard AW: DELETE mit Datumsvorgabe per POST - einfach? - vonwegen!

    Bevor sich das hier wieder hochschaukelt: Thema geschlossen!

Ähnliche Themen

  1. Datensatz gelockt bei DELETE
    Von Suspekta im Forum Datenbank Forum - MySQL und andere Datenbanksoftware
    Antworten: 4
    Letzter Beitrag: 20.02.2017, 21:29
  2. DELETE FROM mit überspringen von Fremdschlüsseln
    Von MaxF94 im Forum Datenbank Forum - MySQL und andere Datenbanksoftware
    Antworten: 1
    Letzter Beitrag: 01.07.2013, 21:50
  3. delete
    Von Diecast im Forum Sponsor gesucht !
    Antworten: 0
    Letzter Beitrag: 01.02.2008, 16:10
  4. Delete From -Problem
    Von sibbiiii im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 14
    Letzter Beitrag: 22.02.2006, 19:39
  5. ftp delete
    Von bo0ntown.net im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 22.10.2004, 17:20

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •