In den letzten Minuten Online

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

  • In den letzten Minuten Online

    Hey ^^
    Also ich möchte auf meiner Homepage anzeigen, welcher User in den letzten Fünf minuten Aktiv war. Ich habe ein Feld, dass heißt Login_Datum und eins, das heißt Login_Zeit.
    Wenn jetzt Login_Datum gleich heute ist, und Login_Zeit innerhalb der letzten 5 Minuten ist, soll der Name des Users ausgegeben werden.
    Nur mit welcher Funktion verwirkliche ich dieses "in den letzten Minuten"? Hat jemand Vorschläge?
    Währe echt lieb, Maybe

  • #2
    Und warum speicherst Du den Login Zeitpunkt nicht innerhalb eines DATETIME Attributs?!

    Dann könntest Du einfach mit LOGIN > NOW() - INTERVAL 5 MINUTE danach fragen ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Demnach müsste dein Feld aber heißen "in den letzten Minuten eingeloggt", da sich die User beim surfen nicht immer neu einloggen, oder doch?
      Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

      Denk' mal drüber nach!

      Kommentar


      • #4
        Das liegt glaub ich daran, dass ich nicht weiß was ein Datetime Attribut ist... Ich such mal danach ""
        Lg Maybe

        Edit @ Click: Ja, stimmt. Ich glaub das reicht mir fürs erst auch ^^

        Kommentar


        • #5
          Original geschrieben von Maybe
          Edit @ Click: Ja, stimmt. Ich glaub das reicht mir fürs erst auch ^^ [/B]
          Sonst einfach eine neue Spalte in die Tabelle einfügen (auch Datetime), in der das Datum bei jedem Seitenaufruf nach erfolgreicher Identifikation des Users neu gesetzt wird. Dann haste immer "aktuelle" Daten darüber wer noch on is.
          Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

          Denk' mal drüber nach!

          Kommentar


          • #6
            Also ich möchte ja jetzt mit dem Login ein Datetime updaten, geht das z.b so?
            $time = date("Y-m-d H:i:s")
            "UPDATE ... SET Login_Zeit='$time' WHERE ..."
            Leider updatet sich genau das Login_Zeit feld nicht, die anderen schon... Iwie komm ich damit nicht klar +sfz+

            Kommentar


            • #7
              welche mysql version benutzt du?
              ab (ich glaube) 5.0 kannst du auch das attribut "on update current timestamp" setzten, dann wird da automatisch die aktuelle zeit eingetragen, oder wenn du es manuell einträgst kannst du auch im mysql query das schreiben:

              UPDATE test_table SET mydatetime = NOW()

              ich hoffe es funzt. ansonsten weiß ich nich was bei dir falsch ist.
              Ein Tipp noch:
              Strings korrekt verbinden
              Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

              Denk' mal drüber nach!

              Kommentar


              • #8
                Ich hab mal die zweite Variante genommen da es bei der ersten eine Fehlermeldung bei der Setzung v. Current_Timestap gebracht hat +augenroll+

                PHP-Code:
                  $datum date("j.n.y");
                   
                $neucp $data["Cp"] + '5';
                $sql "
                UPDATE `benutzer` SET `Cp` = '
                $neucp',
                `Login_Zeit` = NOW( ) ,
                `Login_Datum` = '
                $datum' WHERE `Name` = '".$_SESSION["user_name"]."'";
                    
                $eintragen mysql_query($sql)
                      or die(
                mysql_error().'<hr />'.'Fehler!.'<hr />'); 
                Was sich ändert sind die Feler Login_Datum und Cp. Bei Login_Zeit tut sich nichts, bei dem was mir am wichtigsten ist +grr+

                Kommentar


                • #9
                  Warum hast du denn noch login_zeit und login_datum? wenn du ein feld
                  im datetime format hast, reicht das doch aus^^ (datetime =datumzeit)
                  Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

                  Denk' mal drüber nach!

                  Kommentar


                  • #10
                    Ja, stimmt, ich habs noch nicht gelöscht xDD Mache ich, wenn alles funktioniert aber das ist ja leider nicht der Fall

                    Kommentar


                    • #11
                      Welche Mysql Version benutzt du?

                      Also ich sehe in dem Query kein Fehler

                      NOW()
                      Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context. The value is expressed in the current time zone.
                      laut mysql referenz... das einzigste was ich bei dir sehe ist das leerzeichen bei NOW() zwischen den Klammern (NOW( ) ).
                      Aber ob des daran liegt... kA musste ma ausprobieren
                      Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

                      Denk' mal drüber nach!

                      Kommentar


                      • #12
                        Nee >.< Da ist kein Fehler.
                        Genau das soll in die Datenbank geschrieben werden als ich mir $sql ausgeben lassen habe:
                        UPDATE `benutzer` SET `Cp` = '5' , `Login_Zeit` = '2007-05-08 20:35:59' , `Login_Datum` = '8.5.07' WHERE `Name` = 'Maybe'
                        Und Login_Zeit bleibt trotzdem so wie es ist, also 000-00-00 00:00:00 >.<

                        So sieht Login_Zeit aus:
                        Login_Zeit datetime - - No 0000-00-00 00:00:00

                        Kommentar


                        • #13
                          Ich finde da wirklich keinen Fehler :S

                          Aber probier ma ein einfaches query (zB in phpMyAdmin) auszuführen:
                          UPDATE `benutzer` SET `Login_Zeit` = NOW() WHERE `Name` = 'Maybe'
                          Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

                          Denk' mal drüber nach!

                          Kommentar


                          • #14
                            Klappt perfekt ... Vielleicht weiß jemand anderes Rat? =/

                            Kommentar

                            Lädt...
                            X