Progress meter

Door Pim -, 13 jaar geleden, 4.312x bekeken

Hiermee kan je van een langdurend script de voortgang monitoren.

jQuery is vereist, ik ben niet zo goed in javascript.

EDIT: Nu ook een percentage en mooie bar
EDIT 2: Bijna alle JS staat nu in een JS bestand en kan dus gecached worden. Let wel op om Progress::script() vóór het JS bestand uit te voeren.

De werking is als volgt:
De hoofdpagina roept de action aan, deze slaat zijn voortgang op in de sessie.
Ook roept de hoofdpagina om de zo veel tijd (in te stellen) de leespagina op die de voortgang uit de sessie leest en json encoded weergeeft.
De hoofdpagina geeft dat dan weer.

Op de action pagina kan je het volgende aanroepen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// Creëer object met een namespace (daarmee kan je verschillende monitors onderscheiden)
$progress = new Progress($namespace);
// Reset eerst de sessie
$progress->reset();
// Stel het maximum in
$progress->setMax(100);
// Update de progress
$progress->update(10);
// Trigger een error, error code is optioneel
$progress->error("Error code", 999);
// Geef aan dat de actie voltooid is
$progess->done();
?>

De read pagina is standaard, zie daarvoor de code.
De index pagina
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Namespace is net besproken
$progress = new Progress('namespace');
// Stel de url (mag relatief) van de actie in
    ->setActionUrl('action.php')
// Optioneel, stel de post vars in voor de actie
    ->setActionPostData(array('key'=>'value'))
// Stel de url van de read pagina in
    ->setReadUrl('read.php')
// Stel de interval van de weergave in
    ->setInterval(0.5);

// In de head geeft je het script weer met
echo $progress->script();
?>

In script.js kan je de acties van update, done en error instellen. Bij error heb je beschikking over data.error.text voor de errortext en data.error.code voor de errorcode, als deze bij Progress::error() is opgegeven.

Alle commentaar is van harte welkom.

Voorbeeld: http://pimwebdesign.nl/progress/index.php

Gesponsorde koppelingen

PHP script bestanden

  1. progress-meter

 

Er zijn 15 reacties op 'Progress meter'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niek s
niek s
13 jaar geleden
 
0 +1 -0 -1
Ik krijg eerst een alert met "Error" ?


13 jaar geleden
 
0 +1 -0 -1
Zet het alsjeblieft tussen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
(zonder spaties)
Nicoow Unknown
Nicoow Unknown
13 jaar geleden
 
0 +1 -0 -1
hij bedoelt:
... tags
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Al gedaan
Toby hinloopen
toby hinloopen
13 jaar geleden
 
0 +1 -0 -1
Waar is het fancy balkje?
En /100 kan je vervangen door %; daar is het % teken voor gemaakt.
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Het fancy balkje mag je lekker zelf doen (met jQuery UI kan het heel makkelijk). Zie daarvoor Progress::script(). Dit script gaat er alleen over om de voortgang van een script te monitoren, hoe je het daarna weergeeft, mag je zelf bepalen.
Victor Php
Victor Php
13 jaar geleden
 
0 +1 -0 -1
Ziet er super uit.. Alleen % teken idd.. en balkje..
Maar voor de rest ziet het er netjes uit.. In voorbeeld xD
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Beide zijn toegevoegd
Nathaniel
Nathaniel
13 jaar geleden
 
0 +1 -0 -1
Mooi!
- Ricardo -
- Ricardo -
13 jaar geleden
 
0 +1 -0 -1
Kan het aan mij liggen of als ik al deze scripts exact kopieer krijg ik geen voortgangsbalkje :P?
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Heb je jQuery en jQuery UI goed geïnstalleerd en de links aangepast?
- Ricardo -
- Ricardo -
13 jaar geleden
 
0 +1 -0 -1
jquery css vergeten, maar die sotnd er ook niet bij idd :P

Bedankt!
Roel -
Roel -
13 jaar geleden
 
0 +1 -0 -1
Wat wordt hier ingeladen...?
Pim -
Pim -
13 jaar geleden
 
0 +1 -0 -1
Het gaat niet om de handeling zelf, maar om het monitoren daarvan. De handeling kan van alles zijn, van een mail batch tot een video conversie.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
SilverWolf NL
SilverWolf NL
13 jaar geleden
 
0 +1 -0 -1
Zeer nuttig script, heb het gebookmarked ''for future use'!

;)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. progress-meter

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.