Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Datum auslesen und vergleichen

Einklappen

Neue Werbung 2019

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

  • MySQL Datum auslesen und vergleichen

    Hallo,

    ich habe eine Website wo Sachen eingespeichert werden in eine MySQL Datenbank. Diese Tabelle in der Datenbank besteht aus mehrere Zeilen und eine davon ist im Datetime Format. Auf der Homepage wird die komplette Tabelle angezeigt und nun kommt das wo ich hilfe brauche.
    Ich habe vor das beim Datum die Schriftfarbe Rot ist, wenn 24h überschritten wurden und grün wenn das Datum & Zeit nicht überschritten wurde.
    D.h.
    Wenn ich einen Eintrag in die Datenbank mache am 22.10.2014 23:00 Uhr, wird auf der Homepage die Schrift in der Spalte mit dem Datum grün angezeigt (Nur bei dem Eintrag selbst, die anderen sollen noch selbst überprüft werden). Wenn ich dann am 25.10.2014 auf die HP gehe soll die Schrift rot sein.

    Ich weiß jetzt leider nicht wie ich das umsetzen könnte und weiß auch nicht ob das hier hin gehört oder eher in die PHP Sektion. Hoffe das mein Anliegen auch richtig verstanden wurde bzw verständlich erklärt.

    MfG Paul


  • #2
    Mit strtotime müsste das gehen

    Wenn ich jetzt aufgrund von zunehmender Müdigkeit logisch nicht komplett danebenhaue:
    PHP-Code:
    $dbTime// Zeit aus der Datenbank
    if(strtotime($dbTime) >= strtotime('-1 day'){
        
    // ist weniger als 24h her
    }else{
       
    // ist mehr als 24h her

    Die mysql_* Erweiterung ist veraltet!
    Besser: mysqli_* oder (noch besser) PDO

    Kommentar


    • #3
      Also versteh ich das richtig, das ich bei $dbTime die Datenbank auslesen muss?
      Sprich
      PHP-Code:
      $dbTime mysql_query(Select `Datum/Uhrzeitfrom kunden where Name '$name'

      Kommentar


      • #4
        Ja, aber nicht so.
        Schau dir nochmal das Thema Datenbankabfragen an. Im übrigen sind die mysql Funktionen nicht mehr zeitgemäß. Benutz lieber mysqli oder PDO.
        Die mysql_* Erweiterung ist veraltet!
        Besser: mysqli_* oder (noch besser) PDO

        Kommentar


        • #5
          Zitat von nameless97 Beitrag anzeigen
          Im übrigen sind die mysql Funktionen nicht mehr zeitgemäß. Benutz lieber mysqli oder PDO.
          Nicht mehr zeitgemäß ist eigentlich zu nett ausgedrückt, die werden nämlich "bald" nicht mehr funktionieren, weil diese aus PHP rausfliegen. Alternativen wurden ja schon genannt. Siehe auch: http://php.net/manual/en/migration55.deprecated.php

          Hier ist etwas zu mysqli, PDO findest auch dort, wenns wäre. http://www.peterkropff.de/site/php/m...grundlagen.htm

          LG
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von hausl Beitrag anzeigen

            Hier ist etwas zu mysqli, PDO findest auch dort, wenns wäre. http://www.peterkropff.de/site/php/m...grundlagen.htm
            Hab mir das durchgelesen und dort steht das man hinter mysql einfach ein i hängen muss. Aber wenn ich dies tue, steht dort keine Verbindung zu Datenbank 'name' nicht möglich.
            Muss ich da noch was anderes beachten oder wie funktioniert das dann?
            Habe nämlich nur das mit dem normalen mysql_connect etc. gelernt.

            Das andere Probiere ich heute Abend/Nacht wenn ich zuhause am Rechner sitze.

            Kommentar


            • #7
              Zitat von Blackba Beitrag anzeigen
              Hab mir das durchgelesen und dort steht das man hinter mysql einfach ein i hängen muss. Aber wenn ich dies tue, steht dort keine Verbindung zu Datenbank 'name' nicht möglich.
              Muss ich da noch was anderes beachten oder wie funktioniert das dann?
              Ja, das steht dort, und auch wenn ich die Seite von Peter Kropff meistens ganz gut finde, hier ists sie leider falsch. Das gesagt trifft für die Namen in aller Regel zu, nicht aber für das was die Funktionen tun. mysqli_connect() nimmt beispielsweise gleich einen Datenbanknamen entgegen während man früher zuerst mysql_connect() und dann noch mysql_select_db() aufrufen musste.

              Am besten ist du schaust dir das Handbuch zu den entsprechenden Funktionen an (die Namen sind ja bekannt) und schaust welche Parameter dort erwartet werden bzw. vergleichst sie mit denen der alten Funktion.

              Kommentar


              • #8
                Hab dem Peter Kropff eben eine Info durchgeschickt, der korrigiert das üblicherweise dann immer ganz zeitnah.

                mysqli_* braucht gern die Verbindung mit, wenn man es in der prozeduzalen Variante macht.
                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Ich kam endlich dazu dies mal zu testen, habe das wie folgt gemacht, erstmal ne Manuelle Zeit eingetragen.

                  PHP-Code:
                          
                  $dbTime 
                  'Y-m-d H:i:s'//Y-m-d H:i:s ist das Format, drinne stehen tut es so: 2014-10-31 00:58:23
                  if(strtotime($dbTime) >= strtotime('-1 day')
                  {
                         echo  
                  "ist weniger als 24h her";
                  }
                  else
                  {
                         echo 
                  "ist mehr als 24h her";

                  Wenn ich das so versuche, nur als Test um zu gucken ob es geht, funktioniert es nicht und das ganze PHP Script schmiert ab. Also auf der HP wird nichts angezeigt, die Seite ist einfach nur weiß.

                  Kommentar


                  • #10
                    Error-Reporting und Fehleranzeige anwerfen.
                    |
                    v
                    Relax, you're doing fine.
                    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                    Kommentar


                    • #11
                      Zitat von VPh Beitrag anzeigen
                      Error-Reporting und Fehleranzeige anwerfen.
                      |
                      v
                      Wenn dann auf der Seite was erscheinen soll, dann muss ich dich leider enttäuschen. Die Seite bleibt trotzdem einfach weiß. Ohne das dort irgendwas zu lesen ist.

                      Kommentar


                      • #12
                        Hm, schade.
                        Standards - Best Practices - AwesomePHP - Guideline für WebApps

                        Kommentar


                        • #13
                          Ist der ini-Zugriff aus dem PHP Script bei dir freigegeben?
                          Die mysql_* Erweiterung ist veraltet!
                          Besser: mysqli_* oder (noch besser) PDO

                          Kommentar


                          • #14
                            Mach mal:
                            PHP-Code:
                            ini_set('display_errors',1); 
                            var_dump(ini_get('display_errors')); 

                            Kommentar

                            Lädt...
                            X