[php] Tijdelijke tekst wanneer nog niet alles ontvangen is

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb wat php geschreven waarbij ie gegevens uit een mysql db haal. Doordat die db 500 rijen bevat en er gerekend mee moet worden, wil ik graag zolang de gegevens nog niet op het scherm komen (die resultaten uit de db) een tijdelijke tekst laten zien, zoals bijv. 'retrieving data'

Hoe kan ik dit maken? met een eenvoudig if ($string = "") echo "retrieving data"

?

Acties:
  • 0 Henk 'm!

Verwijderd

Hoelang duurt het uitvoeren van je query en het rekenen daarmee? Als je slechts 500 rijen hebt moet het wel te optimaliseren zijn zodat het redelijk snel gaat. Wat je anders bijvoorbeeld zou kunnen doen:

> Berichtje weergeven met retrieving data, vervolgens je data ophalen, verwerken en opslaan in een bestand, dan met een stukje javascript naar een volgende pagina dirigeren waar je file wordt weergegeven

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou een javascript oplossing gaan: Je laadt de output van de database in in een hidden frame, en je laat de bezoeker een tijdelijke pagina zien in het eigenlijke frame. Zodra het andere frame dan geladen is, replace je je wachtmelding met de output van het hidden frame :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het rekenen duurt ongeveer 4 sec. 500 rijen waarin een aantal kolommen met elkaar vermeningvuldigd worden e.d

Ik ga die javascript manier eens proberen, thnx

Acties:
  • 0 Henk 'm!

  • ET
  • Registratie: Mei 2000
  • Laatst online: 10-07 14:05

ET

www.php.net/flush , en dan ff de usercomments doorlezen, staan wel handige tips in.

Acties:
  • 0 Henk 'm!

  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
Ik heb het zelf zo opgelost:

Begin van de pagina een layer over de gehele pagina heen zetten en daar in het midden bijvoorbeeld een text "loading...".

Dan roep je daarna gelijk het commando flush() aan.

Dan ga je je records ophalen.....en aan het einde van de pagina zet je de layer die je over de hele pagina hebt gelegd op visible = false.
Pagina: 1