Loading...   Upload Image

Ladebalken TutorialForum » Tutorials » Help » Ladebalken Tutorial

Neues Thema verfassen Neues Thema

  • AndrenalinUser ist offline
    Newbie



    Registriert: 19.08.2008
    Beitraege: 6

    21.02.2012 um 12:07 Uhr

    Erstmal danke für das schnelle Tutorial,
    also das Tutorial hat perfekt geklappt bei mir, also der Ladebalken läuft so wie er laufen soll.
    Nur jetzt weis ich nicht wie ich es in mein PHP Script einbaue. Ich versuche es nochmal zu erklären und ich hoffe das es verständlich rüber kommt..
    ;)

    Ich habe ein Browsergame in diesen kann man verschieden Jobs
    annehmen die einem nach Ablauf der Zeit Geld und Punkte ein bringen.

    Nehmen wir an der Job dauert eine Minute dann würde der Code so aus sehen:

    $timestamp = time(); // Aktuelle Zeit als Timestamp.
    $dauer = 60; // Dauer des Jobs in sekunden.
    $bis = $timestamp + $dauer;


    Um heraus zu finden wie lange der Job noch dauert kommt dieser Code zum einsatz:
    $noch = $bis - $timestamp; // Restzeit vom Job

    Die Restzeit lasse ich nun anzeigen. Ich formatiere die
    Restzeit in Stunden, Minuten und Sekunden

    Ich lasse dann natürlich noch abfragen ob der Job schon fertig ist mit diesem Code:
    if($timestamp > $bis) {
    echo "Job erledigt!";
    }


    So wenn ich jetzt diesen Ladebalken nutze für die anzeige wann der Job fertig ist,
    fängt der Balken aber immer wieder von vorne an wenn ich die Seite neu lade.

    Ich habe gestern nachdem ich das Tutorial gelesen und ausprobiert habe festgestellt das es leider nicht so klappt wie ich es mir vorstelle. Der Balken fängt immer wieder von vorne an. Aber ich möchte halt das er bei 50% weiter geht wen der Job schon zu 50% erfüllt ist.

    Ich hoffe das es nicht zu viel Arbeit ist und Ich bedanke mich jetzt schon herzlichst für Antworten und Hilfen bezüglich meinem Problems.



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    21.02.2012 um 19:12 Uhr

    Du programmierst mal eben schnell ein Brwosergame und ich kleines Lichtlein soll dir da helfen? o.0

    Das is mir dann doch ne Nummer zu gross ...

    Reicht es nicht aus, wenn du den Aktuellen Stand in dem Balken anzeigst, sofern man die Seite geladen hat? Oder muss das Ding Tatsache in Echtzeit den aktuellen Stand anzeigen?

    Denn sonst mach einfach ein DIV, dem gibste ne feste Groesse, da steckst dann - wie im Tutorial auch - ein Weiteres DIV rein, welches eine Breitenangabe in Prozent hat.

    Dann etwas simples Prozentrechnen per php und die aktuelle Prozentzahl des Jobs als Breite des DIV's angeben, fertig... Zaehlt halt dann nicht in Echtzeit, sondern gibt nur den aktuellen Stand beim Aufrufen der Seite wieder ...

    Was anderes wuesst ich jetzt nicht, ich bin nicht so der Javascript-Freak ;)



    ... { signatur } ...
  • AndrenalinUser ist offline
    Newbie



    Registriert: 19.08.2008
    Beitraege: 6

    23.02.2012 um 00:02 Uhr

    Hi Alice,
    na ja mal gerade so ein Browsergame kann man auch nicht sagen ;) Ich versuche nur ein wenig meine Kenntnisse in PHP, Javascript usw zu verbessern. Hänge schon eine ganze weil an dem Game aber es kann sich glaube ich schon sehen lassen.

    Auf die Idee mit dem Prozenten bin ich auch gekommen bin aber gescheitert
    da der Balken dann immer von 100% runter zählt und nicht hoch.
    Er zeigt mir die Restzeit in Prozent an und nicht wie weit er ist. Also werden aus 20% --> 80%

    Meine Rechnung war so
    (hoffe ich blamiere mich jetzt nicht.)

    // Restzeit
    $rest = 1200; // in sekunden 20min.
    $dauer = 1800; // Dauer des Jobs 30min.
    $einprozent = $dauer / 100;
    
    $prozent = $rest / $einprozent; // in diesem Fall: 66%


    Wie schaffe ich es jetzt das er bei 0 anfängt
    und hoch zählt und nicht runter? ;) Die Seite wo diese Zeiten angezeigt
    werden wird mit Ajax jede Sekunde aktualisiert also brauchen wir uns dadrum nicht kümmern.
    (falls das wichtig ist) ;)

    Aber es ist schon spät... also sage ich mal Gute Nacht. :D
    Und falls es morgens gelesen wird wünsche Ich einen Wunderschönen und erfolgreichen Tag. :D



    André




    EDIT:
    Habe heute morgen die Lösung gefunden.. klappt jetzt wunderbar.
    Hier der Code den ich jetzt benutze:

    <div style="background-color:#000000; text-align:center; width:150; height:18px" align="right" valign="top">
    <div style="text-align:center; background-color:green; width:100%; margin-top:2px; height:18px" valign="top">
    <p align="right" style="margin-top:0px"><img src="Bilder/ladebalken.jpg"style="width:'.$prozent.'%; height:18px"></p>
    </div></div>


    Na ja sieht ja nach nichts besonderen aus die Prozentrechnung habe ich ja oben schon eingetragen. Ich habe einfach das Bild was kleiner wird im DIV nach rechts gesetzt uns zack fährt der balken runter anstatt hoch. Danköö Alice für deine wirklich sehr gute Hilfe.



    Der Beitrag wurde insgesamt 2 mal editiert, zuletzt 23.02.2012 um 07:24 Uhr ...
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    24.02.2012 um 11:15 Uhr

    Freut mich, dass du es hinbekommen hast =)



    ... { signatur } ...
  • AndrenalinUser ist offline
    Newbie



    Registriert: 19.08.2008
    Beitraege: 6

    24.02.2012 um 19:34 Uhr

    Ich habe eine function erstellt die den Balken darstellt.
    Ich habe gedacht ich poste diese mal hier, vieleicht hilft die ja jemanden weiter.
    ;)


    Hier die function:

    function fortbalken($rest, $dauer) {
    
    $einprozent = $dauer / 100;
    $prozent = round($rest / $einprozent);
    if($prozent > 98) {$color = "#ff0500"; }
    if($prozent > 60 and $prozent < 99) {$color = "#ff8f00"; }
    if($prozent > 40 and $prozent < 61) {$color = "#caff00"; }
    if($prozent > 0 and $prozent < 41) {$color = "#1fff00"; }
    
    $anzeige = '
    <div style="width:150px; height:18px" align="right" valign="top">
    <div style="background-color:'.$color.'; width:100%; margin-top:2px; height:18px" valign="top">
    <p align="right" style="margin-top:0px"><img src="HIER DEIN BILD" style="width:'.$prozent.'%; height:18px"></p>
    </div></div>
    ';
    
    return $anzeige;
    
    }



    Der Fortschrittsbalken brauch 2 Informationen um zu
    funktionieren einmal die gesamte dauer und die Restzeit.

    Wir erstellen eine Variable in der wir
    dem Balken die 2 Informationen übergeben:
    // Immer in Sekunden angeben. (restzeit = 120, gesamt dauer = 240)
    $balken = fortbalken(120, 240); // (restzeit, gesamt dauer)


    Erst wird ausgerechnet was 1% von der gesamt dauer ist.
    Und dann wird die restzeit durch diese 1% geteilt.
    Das Ergebniss wird dann in das Bild als width eingetragen und schon klappt es.

    Dieser Code muss an die stelle wo der Balken angezeigt werden soll:
    echo $balken;


    -----

    Die div's in der function können natürlich angepasst werden.

    Hier noch das Bild: (dort angeben wo steht HIER DEIN BILD)

    -----

    Ich hoffe ich habe mich verständlich ausgedrückt... ;)
    andre







[ 1 ] Seite 1 von 1


Affiliates:   Gallery Yuri  •   Pat DG  •   Chibi Graphics  •   Blue-Graphics  •   Colorful Gfx  •   Design Grafixx  •   The Seduction  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider