Zeit vergleichsproblem

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

  • Zeit vergleichsproblem

    Hallo,

    habe mit der Suche nicht wirklich etwas sinvolles gefunden.

    Zu meinem Problem:
    Ich trage mittels NOW() den aktuellen Timestamp in deine tabelle ein.
    Nun möchte ich beim Auslesen feststellen ob der Timestamp älter ist als 24 Stunden. Wie ist das möglich?

    Bzw wie würde die Abfrage in etwa aussehen?

    Danke im Vorraus
    The Human Mirror - Mein Blog!
    www.sonicsense.de - The future of music!

  • #2
    Ich trage mittels NOW() den aktuellen Timestamp in deine tabelle ein.
    da bist du dir sicher?

    Kommentar


    • #3
      "eine" natürlich

      UPDATE mx_users SET aktuell = NOW() WHERE userID = '$id';

      :P
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #4
        DATE_SUB()
        INTERVAL

        www.mysql.com


        *VERSCHIEB* nach sql
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          nur mal zur sicherheit: kannst du mal bitte den datensatz posten, den du mit
          UPDATE mx_users SET aktuell = NOW() WHERE userID = '$id';
          generierst.

          Kommentar


          • #6
            Ich dachte nicht das das MySql sei..

            Alle Datensätze aus db holen
            Timestamp alle Datensätze aus db holen
            Sollte der Timestamp nicht älter als 24h sein, füge was hinzu und geb den datensatz aus.
            Sollte der Timestamp älter als 24 h sein füge nix hinzu und geb den datensatz aus.
            The Human Mirror - Mein Blog!
            www.sonicsense.de - The future of music!

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              nur mal zur sicherheit: kannst du mal bitte den datensatz posten, den du mit
              UPDATE mx_users SET aktuell = NOW() WHERE userID = '$id';
              generierst.
              $sql = "INSERT INTO $dbtable (userID,uname,level,email,passwd) VALUES ('','$uname','$level','$email',password('$passwd'))";

              und bei einer Aktion:

              $sql_setaktuell = "UPDATE mx_users SET aktuell = NOW() WHERE userID = '$id';";
              mysql_query($sql_setaktuell) OR die(mysql_error());
              The Human Mirror - Mein Blog!
              www.sonicsense.de - The future of music!

              Kommentar


              • #8
                ich will mal einen beispieldatensatz sehen.

                man kanns auch mit PHP machen, aber warum wenns mit SQL viel besser geht.

                Kommentar


                • #9
                  PHP-Code:
                  $sql_usergals "SELECT userID,uname,aktuell FROM mx_users ORDER by uname ASC;";

                  $count 0;
                                      
                  $ergebnis mysql_query($sql_usergals) or die(mysql_error());
                                      echo 
                  '<table><tr>';
                                      while(
                  $row mysql_fetch_assoc($ergebnis)){
                  //Hier der Frage ob der Timestamp älter ist als 24h
                  if($row["aktuell"älter als 24h){
                  $bfront "<b>";
                  $bback "</b>";
                  }
                  else{
                  $bfront "";
                  $bback "";
                  }
                                      
                  $useridsearch $row["userID"];
                                      
                  $sql_picstat_user "SELECT picid FROM mx_pics WHERE user = '$useridsearch' AND status = '1';";

                                          
                  $counter_picstat_user 0;
                                          
                  $result_picstat_user mysql_query($sql_picstat_user) OR die(mysql_error());
                                          while(
                  $row_picstat_user mysql_fetch_assoc($result_picstat_user)) {
                                              if (
                  $row_picstat_user["picid"] != ""){
                                              
                  $counter_picstat_user = ($counter_picstat_user+1);
                                              }
                                              }
                                              if (
                  $counter_picstat_user >= 1){
                                              }
                                              else
                                              {
                                              echo 
                  '';
                                              }
                                      if(
                  $counter_picstat_user != "0"){
                                      if(
                  $count == 3){
                                      echo 
                  '</tr><tr><td>';
                                      
                  $count 0;
                                      }
                                      else{ echo 
                  '<td width="175px">';}
                                      
                  $count++;
                                      echo 
                  '<a href="?action=showgallery&galid='.$row["userID"].'&dname='.$row["uname"].'">'.$row["uname"].'&nbsp;('.$counter_picstat_user.')</a><br>';
                                      echo 
                  '</td>';
                                      }
                                      }
                                      echo 
                  '</tr></table>'
                  The Human Mirror - Mein Blog!
                  www.sonicsense.de - The future of music!

                  Kommentar


                  • #10
                    ach komm, du gehst nicht auf meine postings ein, also ich nicht auf deine... tschüß

                    Kommentar


                    • #11
                      Ja verdammte axt, ich was meinst du mit "ganzer datensatz" ich versuche ja.

                      Ich dachte nun hab ich dir die antwort eben gepostet oO.

                      Willst du genau wissen wie wie es in der DB aussieht?

                      Zuletzt geändert von Hazzardous; 31.07.2004, 14:35.
                      The Human Mirror - Mein Blog!
                      www.sonicsense.de - The future of music!

                      Kommentar


                      • #12
                        dann kann man wenigstens raten, welchen formates die spalte ist ...

                        nimmste nen ganz normales select ... siehe Abraxax' post ... und schaust dann, ob
                        Code:
                        SELECT
                        *,
                        IF (
                          DATE_ADD(aktuell, INTERVAL 1 DAMN MONTH) > NOW(), 
                          'within last 24h', 
                          'older'
                        ) status,
                        weitere_spalten,
                        ...
                        FROM
                        ...
                        ungetestet

                        du kannst natürlich auch php benutzen, aber .. schau dir deinen code mal an, ...

                        edit: klarer ...
                        Zuletzt geändert von derHund; 31.07.2004, 15:03.
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Das format der Spalte ist TIMESTAMP.

                          Ich würde es eben gerne in PHP machen. Da ich nicht nur die Datensätze haben möchte mit einem Timestamp der äler ist als 24h sondern alle Datensätze.

                          Im Prinzip möchte ich nach dem Auslesen des Timestamp eine If schleife machen wo das geprüft wird um ein paar Variablen zu deklarieren.

                          Nach meinem Wissen kann ic das nicht innerhalb des selects.
                          The Human Mirror - Mein Blog!
                          www.sonicsense.de - The future of music!

                          Kommentar


                          • #14
                            Ich würde es eben gerne in PHP machen. Da ich nicht nur die Datensätze haben möchte mit einem Timestamp der äler ist als 24h sondern alle Datensätze.
                            nonsense!

                            ich hab extra ne query gebastelt, die genau dieses tut ... du hattest es ja explizit angegeben ... lesen tu ich meistens schon die threads, bevor ich antworte ...

                            du findest in der spalte status einen von zwei texten ...
                            If schleife
                            machen wo das geprüft wird um ein paar Variablen zu deklarieren.

                            Nach meinem Wissen kann ic das nicht innerhalb des selects.
                            afaik und bei mir geht das. probiers doch aus ...

                            php-seitig würde ich in unix_time wandeln +86400 ....
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              Nun versteh ich deine Lösung. Die beiden Vars würden nun z.B. in der Spalte "Status" und "Gummibärchen" stehen?
                              The Human Mirror - Mein Blog!
                              www.sonicsense.de - The future of music!

                              Kommentar

                              Lädt...
                              X