änderunge in der datanbank, wenn user offline

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

  • änderunge in der datanbank, wenn user offline

    is es möglich, dass daten in der datanbank geändert werden, auch wenn der user, den es betrifft offline ist?
    als beispiel (mein browsergame):
    User A baut ein gebäude und geht während es gebaut wird offline. momentan wird bei mir sobald User A wieder online ist das gebäude fertig gestellt. aber ist es möglich eine datei zu erstellen, die arbeitet ohne, dass die von jemandem benutzt wird und bei allen user das gebäude fertigstellt, sobald die bauzeit abgelaufen ist ?
    (ich hoffe ich habe es gut genug erklärt ^^)

  • #2
    Vorschläge:

    -Cronjobs (weiß nicht, ob das so optimal ist...)

    -Speicher die Zeit der Fertigstellung in der Datenbank ab. Damit kannst du unabhängig davon, ob der User online oder offline ist, die Gebäude fertigstellen.

    Vielleicht müssen auch beide Vorschläge miteinander verknüpft werden. Oder es gibt noch viel bessere Vorschläge...

    Kommentar


    • #3
      was muss ich denn machen, wenn ich die zeit der fertigstellung gespeichert habe ?

      Kommentar


      • #4
        Ich weiß ja nicht, wie dein Script aussieht, aber wenn Zeit der Fertigstellung < jetzt ist, dann ist das Gebäude fertig. Man könnte auch z.B. die Prozentzahl der Fertigstellung berechnen, usw...

        Kommentar


        • #5
          dummer reload button -.-
          Zuletzt geändert von Flash2k5; 23.07.2005, 19:56.

          Kommentar


          • #6
            so hab ich das auhc, aber wie macht man das, dass das gebäude auhc gebaut wird, wenn man selber offline ist
            Die Frage verstehe ich nicht so ganz. Wenn du beispielsweise in der DB speicherst, dass Gebäude A morgen um 13:00 Uhr fertig ist, was hat das damit zu tun, ob du online bist?

            Kommentar


            • #7
              also wenn ich in die datenbank eingeben dass das gebäude um 20:00 fertig ist, dann setzt die datenbank das automatisch um eins hoch ? (achja das is in 2 tabellen gespiechert)

              Kommentar


              • #8
                Poste sonst mal dein DB-Design, bisher war das ja nur so allgemeines "Um-den-heißen-Brei-reden"...

                Kommentar


                • #9
                  Tabelle "bauen" :
                  nick gebaeude startzeit endzeit


                  Tabelle "gebaeude":
                  nick "Hauptgebaeude" .....(die ganen anderen gebäude)

                  Kommentar


                  • #10
                    naja, dein db design ist schon schlecht gewählt, aber trotzdem sollte heinis methode doch klappen.

                    Kommentar


                    • #11
                      hmm ich versteh den vorschlag irgendwie nicht ... -.-

                      also kann mir das plz nochmal jemand erklären ?
                      Zuletzt geändert von Flash2k5; 23.07.2005, 21:17.

                      Kommentar


                      • #12
                        Puh, mit dem Design schränkst du dich ganz schön ein...

                        Ich hatte es eher so gedacht:
                        Tablle Gebäude:
                        id, user_id, gebäude_id, baubeginn

                        und falls der Wert in "baubeginn" in der Vergangenheit liegt, ist das Haus eben fertig.

                        Ich weiß ja nicht, wie das Spiel aufgebaut sein soll, aber so (oder ähnlich) wäre es flexibler als mit deinem Entwurf...

                        Kommentar


                        • #13
                          ich denke ma, mit baubeginn meintest du bauende ^^

                          und mach die datenbank das von alleine oder muss man dafür eine seite aufrufen ?

                          Kommentar


                          • #14
                            Richtig, Bauende...^^

                            Du kannst ja eine Abfrage gestalten, die beim Aufruf abfragt, ob das Gebäude fertig ist. (So hast du das wohl auch geplant, denke ich.) Macht meiner Ansicht nämlich keinen großen Unterschied, ob du nun etwas wie
                            Code:
                            select bla where gebäude_fertig = "ja"
                            oder
                            Code:
                            select bla where gebäude_fertig < [jetziges_datum]
                            hast.

                            PS: SQL ist natürlich nur Pseudo-Code, also bitte kein Copy&Paste...

                            Kommentar


                            • #15
                              ok, ich glaub wir reden aneinander vorbei ^^

                              ich habe momentan folgendes script:
                              PHP-Code:
                              $abfragebauen "SELECT * FROM bauen WHERE nick LIKE 
                              '
                              $username'";    
                              $ergebnisbauen mysql_query($abfragebauen); 
                               while(
                              $row mysql_fetch_object($ergebnisbauen))    {    
                              $baugebaeude $row->gebaeude;    
                              #fals etwas gebaut wird    
                              $time time();    
                              $endtime $row->endzeit;    
                              $rtime $endtime $time;    

                              aber mir geht es darum, ob es möglich ist, dass etwas in der datenbank zu einer bestimmten zeit verändert wird, OHNE, dass jemand eine seite aufruft, damit das spiel über nacht weiterläuft, und nciht erst wenn der spieler wieder online kommt.
                              Zuletzt geändert von Flash2k5; 23.07.2005, 22:19.

                              Kommentar

                              Lädt...
                              X