Usercheck

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

  • Usercheck

    Hallo

    Ich habe 50 User in der Datenbank stehen.

    Die bekommen jeweils nach 12 Stunden Punkte überprüfen tue ich das Momentan über den letzten Login.

    also wenn letzter login älter als 12 st dann gibts punkte.

    das mache ich aber über die user id.

    Gibt es eine möglichkeit alle user auf einmal zu prüfen und die daten dementsprechend zu ändern?

    wenn sich z.b User 4 einloggt soll er die restichen auch gleich mit überprüfen geht das?

    Mfg Willy

    Ich habe zwar schon einiges versucht aber nichts klappt

  • #2
    Hi,

    du musst es dann eben nur über das lastlogin machen. Du gibst als kriterium im where-teil lastlogin > 12h an, ohne den query an die id zu binden.

    greets
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

    Kommentar


    • #3
      Was ist wenn ein User sich 11 stunden nach seinem letzten login einloggt? dann wird der Lastlogin hochgesetzt und der User kommt nie über deine 12h ? Speicherst du sein Anmeldedatum? Wie wärs dann damit ?


      PHP-Code:
      mysql_query("UPDATE users SET punkte=FLOOR( ("mktime() ." - anmeldedatum ) / ( 12*60 ) ) "; ); 
      Zuletzt geändert von zonthor; 27.03.2006, 09:38.

      Kommentar


      • #4
        also

        wenn der user sich einloggt wird überprüft ob der letzte login älter als 12 stunden ist,sollte es der fall sein wird der letzte login plus 12 stunden erhöht,unddie punkte werde addiert.

        sollte das nicht der fall sein bleibt alles wie es ist.

        mfg

        Kommentar


        • #5
          Hi,
          wenn die zeit zwischen lastlogin und now() ein vielfaches von 12 ist wird das selbe vielfache an punkten hochgerechnet, right ?

          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar


          • #6
            Punktesystem

            Hallo

            muss doch nochmal anfragen.

            ich hab ein memberbereich mit punktesystem im moment wird das so gemacht das jeder der unter 10 punkte hat aller 4 stunden 5 punkte bekommte wer drüber ist aller 8 stunden.

            das klappt auch ohne probleme aber meine frage

            wie könnte ich es machen,das sich nach jeweils 5 punkten die zeit erhöht?

            Beispiel :

            punkte 5 = 4st
            punkte 10 = 8 st
            punkte 15 = 12 st

            u.s.w

            mfg

            Kommentar


            • #7
              Hi,

              Wenn es keinen grenzwert für die folge der zeiten gibt
              und die proportionalität erhalten bleibt, dann kannst du
              es immer berechnen.

              Du weisst dass es in 5er schritten läuft.
              Wenn also ein user x aktuell 10 punkte hat,
              dann wäre der nächste logische schritt 15 punkte.
              Um nun rauszubekommen wieviel zeit verstrichen
              sein muss um diese 15 punkte zu erhalten, setzt du
              die ausgangspunktzahl zur ausgangszeit ins verhältnis
              und berechnest die zeit die jetzt benötigt wird.

              5/4 = 15/x

              x = 4 * 15 / 5

              x = 12

              Ist das letzte login länger als 12 stunden her bekommt er die punkte.

              greets
              (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

              Kommentar


              • #8
                lol

                für dich mag das logich sein..aber ich verstehe kein wort

                hast kein kleines beispiel?

                mfg

                Kommentar


                • #9
                  Hi,

                  PHP-Code:
                  function duration_needed($points_next_step){
                        return (
                  $points_next_step 5);
                  }

                  //aktuelle punktzahl des users bestimmen
                  $current_points get_points_for_user($user);

                  //nächstheöhere punktzahl bestimmen
                  //wir arbeiten per definition in 5er schritten
                  $next_points $current_points 5;

                  //benötigte zeitspanne seit letztem login
                  //für die erwünschte punktzahl
                  $duration duration_needed($next_points);

                  //ist die wirkliche zeitspanne größer oder gleich
                  //der  benötigten zeitspanne zwischen "jetzt" und lastlogin ?
                  if(get_duration_between_last_login_and_now($user) >= $duration){
                         
                  //ok user bekommt die punkte
                        
                  update_user_points($next_points);
                  }else{
                         
                  //noe , nicht genug zeit vergangen
                        
                  notify_not_enough_time_went_by();

                  greets
                  (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                  Kommentar

                  Lädt...
                  X