Sven: Ladebalken/Fortschrittsanzeige

hey!
wie der titel schon sagt suche ich einen balken der jetzt kommts keine Prozente hochzählt sondern eine anzeige welche secunden runter zählt wenn das möglich ist würde ich da um hilfe bitten...

Ps. es müsste in einem .php dokument funktionieren wo mysql verwendet wird...

mfg
Sven

  1. Moin!

    wie der titel schon sagt suche ich einen balken der jetzt kommts keine Prozente hochzählt sondern eine anzeige welche secunden runter zählt wenn das möglich ist würde ich da um hilfe bitten...

    Dazu müsstest du ja wissen, von welcher Startzeit aus du runterzählen musst. Wie ermittelst du die denn?

    - Sven Rautenberg

    1. Dazu müsstest du ja wissen, von welcher Startzeit aus du runterzählen musst. Wie ermittelst du die denn?

      Genauso wie wie bei Lösung mit dem "Prozent-Balken" - nämlich garnicht - es ist höchstens eine Näherung möglich.

      1. Dazu müsstest du ja wissen, von welcher Startzeit aus du runterzählen musst. Wie ermittelst du die denn?

        Genauso wie wie bei Lösung mit dem "Prozent-Balken" - nämlich garnicht - es ist höchstens eine Näherung möglich.

        hey!
        lesse doch bitte meinen vorletzten beitrag dort habe ich das was ich haben möchte nochmal "richtig" beschrieben.

        1. lesse doch bitte meinen vorletzten beitrag dort habe ich das was ich haben möchte nochmal "richtig" beschrieben.

          Ich hätte es auch so gelesen - drängeln hilft nicht und macht zudem den Ast dieses Threads unleserlich.

          Antworten werde ich aber dennoch nicht, dir wird ja bereits ausreichend geholfen.

  2. Lieber Sven,

    mit reinen HTML/JavaScript/PHP-Mitteln erscheint mir das unmöglich.

    Warum das so ist? Die prinzipielle Vorgehensweise des HTTP ist doch die: 1.) Request - 2.) Response - Fertig. Wo ist da zwischen 1. und 2. ein Datenaustausch, der eine zeitliche Messung ermöglicht?

    Stellen wir uns einmal einen Upload-Prozess vor:

    Der Browser sendet einen POST-Request an den Server, bei dem er ein großes Datenpaket (die hochzuladende/n Datei/en) mitschickt. Alleine das Absetzen des Requests dauert wegen des Datenumfangs länger, als die berühmte "Schrecksekunde" beim Warten auf den Seitenaufbau eines regulären GET-Requests.

    Während des Hochladevorgangs kann für diesen Request keine "Zwischen-Response" vom Server zurückgesandt werden, da dieser ja noch den Request abarbeitet (er empfängt noch immer Daten). Um nun aber etwas über den aktuellen Stand des Uploads zu erfahren müsste ein zweiter Request an den Server gesandt werden, der sich zum Status des ersten erkundigt. Und genau hier ist ein Problem, das absolut nicht trivial ist: Wie soll der Server erkennen, auf welchen anderen Request sich dieser zweite Request bezieht? Du könntest ja theoretisch drei Requests quasi parallel an den Server geschickt haben (z.B. Upload, eine Seite und eine dazu gehörende Bilddatei = 3 Requests). Nicht nur könnte sich Deine IP inzwischen geändert haben, es ist Dein zweiter Request auch ein neuer Thread (so ähnlich wie ein neuer Prozess) des Servers mit eigenem Arbeitsspeicher und eigener Umgebung, der absichtlich(!) nichts von anderen zeitlich parallel stattfindenden Requests "weiß".

    Beim Einsatz von Dritt-Technologien (z.B. Flash-basierte Uploader oder Java-Applets) ist das Ganze anders. Dort kann die Dritt-Technologie den Datentransfer "messen" und so eine Schätzung der Restzeit bzw. eine Auskunft über die Menge des bereits erfolgten Datentransfers geben. Aber mit der "Standardausrüstung" des Browsers (HTML / JavaScript) ist da nichts zu machen. Jedenfalls ist mir keine (nicht-proprietäre) API bekannt, mit der man in JavaScript auf solche Informationen Zugriff hätte. Ob im IE solches mit ActiveX möglich ist und ob andere Browser über andere passende Eigenentwicklungen verfügen, weiß ich nicht.

    Übrigens: MySQL ist in diesem Szenario völlig unerheblich!

    Man möge mich in technischen Ungenauigkeiten bitte korrigieren.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. mit reinen HTML/JavaScript/PHP-Mitteln erscheint mir das unmöglich.

      Gedanklicher Ansatz, den ich bereits erfolgreich für nen Kunden umgesetzt habe:

      1. Upload Maske generiert eine Unique ID(=sozusagen die Upload ID)
      2. Schicke den Upload in Iframe 1, Action Attribut enthält als Paramter die Unique ID
      3. Nach Start des Uploads pollt man in Iframe 2(alternativ auch per Ajax) mit Übergabe der Unique ID nach dem aktuellen Status

      Der Clou dabei ist nur, dass der Upload Prozess seinen aktuellen Status bzgl. der aktuell empfangenen Datenmenge zyklisch irgendwo hinterlegen muss. Bei Sprachen mit kaputten Automatismen(PHP) wird das nicht gehen, weil du erst agieren kannst, wenn der Server die Clientdaten bereits komplett empfangen hat.

      1. Liebe(r) Pragma,

        mit reinen HTML/JavaScript/PHP-Mitteln erscheint mir das unmöglich.

        Bei Sprachen mit kaputten Automatismen(PHP) wird das nicht gehen,

        eben.

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Bei Sprachen mit kaputten Automatismen(PHP) wird das nicht gehen,
          eben.

          Deine Argumentation erhob einen Allgemeingültigkeitsanspruch, nicht etwa: Das geht. Nur nicht mit PHP, weil PHP kaputt ist.

          1. Hi!

            Bei Sprachen mit kaputten Automatismen(PHP) wird das nicht gehen,
            eben.
            Deine Argumentation erhob einen Allgemeingültigkeitsanspruch, nicht etwa: Das geht. Nur nicht mit PHP, weil PHP kaputt ist.

            Es gibt eine PECL(?)-Erweiterung in PHP, mit der man da was machen kann. Jedenfalls ist in PHP selbst ein Hook eingefügt, über den man den Upload-Status abfragen kann.

            Lo!

            1. Lieber dedlfix,

              Es gibt eine PECL(?)-Erweiterung in PHP, mit der man da was machen kann. Jedenfalls ist in PHP selbst ein Hook eingefügt, über den man den Upload-Status abfragen kann.

              Alternativer PHP Cache (APC) heißt das Schlüsselwort. Wenn die verwendete PHP-Installation kein APC enthält oder unterstützt, dann ist eine PHP-basierte Lösung einer (Upload-?)Progress-Bar so nicht möglich.

              Liebe Grüße,

              Felix Riesterer.

              --
              ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
              1. Vielen dank für die schnellen antworten vorallem von Felix Riesterer.

                aber wie es aussieht wurde meine frage falsch verstanden.

                bei meinem ladebalken/fortschritts anzeige soll nicht mit dem server kummoniziert werden ich meinte eigentlich nur einen "grafisch animierten" countdown der secunden runterzählt.

                mfg

                Sven

                1. Hallo Sven,

                  aber wie es aussieht wurde meine frage falsch verstanden.

                  bei meinem ladebalken/fortschritts anzeige soll nicht mit dem server kummoniziert werden ich meinte eigentlich nur einen "grafisch animierten" countdown der secunden runterzählt.

                  Du hast also eine (variable) Startsekundenzahl, die Du auf 0 herunterzählen lassen willst und den Fortschritt möchtest Du grafisch anzeigen.

                  Das wäre eine typische Aufgabe für Javascript. PHP-seitig wäre es nur erforderlich, den Startwert festzulegen.

                  Freundliche Grüße

                  Vinzenz

                  1. Hallo Sven,

                    aber wie es aussieht wurde meine frage falsch verstanden.

                    bei meinem ladebalken/fortschritts anzeige soll nicht mit dem server kummoniziert werden ich meinte eigentlich nur einen "grafisch animierten" countdown der secunden runterzählt.

                    Du hast also eine (variable) Startsekundenzahl, die Du auf 0 herunterzählen lassen willst und den Fortschritt möchtest Du grafisch anzeigen.

                    Das wäre eine typische Aufgabe für Javascript. PHP-seitig wäre es nur erforderlich, den Startwert festzulegen.

                    Freundliche Grüße

                    Vinzenz

                    das ist korrekt vincent genau dads wollte ich haben!

                    wenn du mir jetzt noch zeigen könntest wie man das realiesiert wäre ich dir dankbar.

                2. Hallo,

                  aber wie es aussieht wurde meine frage falsch verstanden.

                  daran bist du aber nicht ganz unschuldig - nicht zuletzt dadurch, dass du die Frage im Bereich PHP eingestellt hast, also bei serverseitigen Techniken. Mit der Erwähnung von MySQL hast du noch einen weiteren rein serverseitigen Part in die Diskussion geworfen, also war die Richtung der Überlegung vorgegeben.

                  bei meinem ladebalken/fortschritts anzeige soll nicht mit dem server kummoniziert werden

                  Eine rein clientseitige Geschichte? Dann kommt also Javascript, vielleicht auch Flash in Frage.

                  ich meinte eigentlich nur einen "grafisch animierten" countdown der secunden runterzählt.

                  Wann? In welcher Situation? Von welchem Startwert aus?
                  Mit den Stichworten Javascript und Countdown dürftest du Hunderte von Beispielen finden. Aber wenn du *nicht* mit dem Server kommunizieren willst, kann dein Countdown auch nicht mit irgendwelchen Prozessen synchronisiert werden, sondern läuft einfach nur so vor sich hin.

                  Wenn du konkrete Hilfe brauchst, solltest du die Rahmenbedingungen daher noch etwas genauer beschreiben.

                  So long,
                   Martin

                  --
                  Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
                    (alte Journalistenweisheit)
                  1. Hallo,

                    aber wie es aussieht wurde meine frage falsch verstanden.

                    daran bist du aber nicht ganz unschuldig - nicht zuletzt dadurch, dass du die Frage im Bereich PHP eingestellt hast, also bei serverseitigen Techniken. Mit der Erwähnung von MySQL hast du noch einen weiteren rein serverseitigen Part in die Diskussion geworfen, also war die Richtung der Überlegung vorgegeben.

                    bei meinem ladebalken/fortschritts anzeige soll nicht mit dem server kummoniziert werden

                    Eine rein clientseitige Geschichte? Dann kommt also Javascript, vielleicht auch Flash in Frage.

                    ich meinte eigentlich nur einen "grafisch animierten" countdown der secunden runterzählt.

                    Wann? In welcher Situation? Von welchem Startwert aus?
                    Mit den Stichworten Javascript und Countdown dürftest du Hunderte von Beispielen finden. Aber wenn du *nicht* mit dem Server kommunizieren willst, kann dein Countdown auch nicht mit irgendwelchen Prozessen synchronisiert werden, sondern läuft einfach nur so vor sich hin.

                    Wenn du konkrete Hilfe brauchst, solltest du die Rahmenbedingungen daher noch etwas genauer beschreiben.

                    So long,
                    Martin

                    das soll ein countdown sein der von 7 secunden runterzählt und der balken soll halt bei jeder verstrichenen secunde "abnehmen" weniger werden.

  3. Ich will zwar nicht drängeln aber es wäre nett wenn mir mit meinem problem schnellstmöglich geholfen wird... also ein Script etc. oder ein link zu einer seite wo das erklärt wird wär(e) gut.

    Mit Freundlichen Grüßen
    Sven

    1. Hallo,

      Ich will zwar nicht drängeln aber es wäre nett wenn mir mit meinem problem schnellstmöglich geholfen wird... also ein Script etc. oder ein link zu einer seite wo das erklärt wird wär(e) gut.

      was gefällt dir an den vielen Countdown-Scripts nicht, die du inzwischen gefunden haben müsstest? Vorausgesetzt, du hast überhaupt danach gesucht. Im Moment sieht's eher so aus, als ob du dich still irgendwo hinsetzt und abwartest, bis dir einer die fertige Lösung auf Büttenpapier überreicht.

      Ciao,
       Martin

      --
      Es gibt Dinge, die sind sooo falsch, dass nicht einmal das Gegenteil stimmt.
      1. Hallo,

        Ich will zwar nicht drängeln aber es wäre nett wenn mir mit meinem problem schnellstmöglich geholfen wird... also ein Script etc. oder ein link zu einer seite wo das erklärt wird wär(e) gut.

        was gefällt dir an den vielen Countdown-Scripts nicht, die du inzwischen gefunden haben müsstest? Vorausgesetzt, du hast überhaupt danach gesucht. Im Moment sieht's eher so aus, als ob du dich still irgendwo hinsetzt und abwartest, bis dir einer die fertige Lösung auf Büttenpapier überreicht.

        Ciao,
        Martin

        Ich habe gesucht zwar nicht hier im forum aber bei google das einzige was mich dabei stört das was ich gefunden habe war ein Ladebalken um den Fortschritt eines Up/Downloads anzuzeigen und so etwas wollte ich nicht haben daher Frage ich hier im Forum nach.

        LG,
        Sven

        1. Hi,

          Hallo,
          [...]
          Martin

          wenn du das Vollzitat oben stehen lässt, ist das auch nicht besser als TOFU! Bitte lass den Unsinn und zitiere nur das, was nötig ist.

          Ich habe gesucht zwar nicht hier im forum aber bei google

          Das ist ja auch in Ordnung.

          das einzige was mich dabei stört das was ich gefunden habe war ein Ladebalken um den Fortschritt eines Up/Downloads anzuzeigen und so etwas wollte ich nicht haben daher Frage ich hier im Forum nach.

          Wie hast du gesucht? Die ersten drei Ergebnisse, die ich bei der Suche nach javascript countdown bekam, sind die hier:

          http://www.hashemian.com/tools/javascript-countdown.htm
          http://www.javascriptkit.com/script/script2/count2.shtml
          http://www.java-scripts.net/javascripts/Countdown-Timer.phtml

          Alle tun ungefähr das, was du beschreibst; besonders das dritte passt geradezu perfekt auf deine Beschreibung. Was war daran nun so schwer?

          Ciao,
           Martin

          --
          Krankenschwester zum fassungslosen Vater von Drillingen: Nein, Sie sollen sich keins aussuchen! Alle drei sind Ihre!
          1. [latex]Mae  govannen![/latex]

            Wie hast du gesucht? Die ersten drei Ergebnisse, die ich bei der Suche nach javascript countdown bekam, sind die hier:

            http://www.hashemian.com/tools/javascript-countdown.htm
            http://www.javascriptkit.com/script/script2/count2.shtml
            http://www.java-scripts.net/javascripts/Countdown-Timer.phtml

            Alle tun ungefähr das, was du beschreibst; besonders das dritte passt geradezu perfekt auf deine Beschreibung. Was war daran nun so schwer?

            Wahrscheinlich nichts, aber so hat er dich doch dazu gebracht...

            *g*

            Cü,

            Kai

            --
            Resig is more like Javascript's Pee Wee Herman.  ;) (D.Mark in clj)
            Foren-Stylesheet Site Selfzeug JS-Lookup
            SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
            1. Hallo,

              Was war daran nun so schwer?
              Wahrscheinlich nichts, aber so hat er dich doch dazu gebracht...

              ja, aber bestimmt fragt er als nächstes, wie er denn das Script in seine Seiten einbauen soll, weil die doch ganz anders aufgebaut sind ... ;-)

              Ciao,
               Martin

              --
              Wenn man sieht, was der liebe Gott auf der Erde so alles zulässt, hat man das Gefühl, er experimentiert immer noch.
                (Sir Peter Ustinov, Charakterdarsteller, 2004 verstorben)
          2. ah ok ich habe einen ganz anderen suchbegriff verwendet ich guck mir das mal an und hoffe das ich keine hilfe dabei brauche es in meine seite einzubauen...

            Ps. ein wenig erfahrung hab ich ja schon also sollte das kein problem sein ;)

            MFG
            Sven

          3. das dritte tut zwar genau das was ich haben wollte aber das was noch fehlt ist der ladebalken den ich mir wünsche ... aber wenn es euch schwierigkeiten macht lasst es (ein echt hilfreiches Forum :D )

            MFG
            Sven

            1. [latex]Mae  govannen![/latex]

              das dritte tut zwar genau das was ich haben wollte aber das was noch fehlt ist der ladebalken den ich mir wünsche ... aber wenn es euch schwierigkeiten macht lasst es (ein echt hilfreiches Forum :D )

              Es kann wirklich nicht so schwer sein, die drei Wörter „javascript“ „countdown“ und „balken“ in die selfhtml-suche oder eine beliebige Suchmaschine einzutippen.

              Cü,

              Kai

              --
              Resig is more like Javascript's Pee Wee Herman.  ;) (D.Mark in clj)
              Foren-Stylesheet Site Selfzeug JS-Lookup
              SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
              1. Es kann wirklich nicht so schwer sein, die drei Wörter „javascript“ „countdown“ und „balken“ in die selfhtml-suche oder eine beliebige Suchmaschine einzutippen.


                http://www.igdfd.com/?q=javascript+countdown+balken

                nein das ist nicht das Problem...

    2. Hi,

      Ich will zwar nicht drängeln

      Dann lass es!

      aber es wäre nett wenn mir mit meinem problem schnellstmöglich geholfen wird...

      Das *ist* Drängeln.

      MfG ChrisB

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]