[RESOLU] Afficher la page avant les includes

Eléphant du PHP | 67 Messages

31 déc. 2012, 15:22

Bonjour à tous ...

J'ai une page html standard qui appelle 4 pages php (dans le body) via 4 fonctions include.
Ces 4 pages appelées ne sont en fait que du code php qui va traiter des fichiers csv pour mettre à jour une dB MySQL
Le traitement complet de mise à jour de la dB MySQL prend une vingtaine de secondes.

Tout fonctionne correctement sauf que ma page standard ne s'affiche qu'après la fin des traitements des fichiers appelés par mes includes.
Elle reste totalement blanche tant que les traitements ne sont pas terminés.

Ce n'est pas grave en soi mais c'est 'pa bô' ...

Si quelqu'un a une idée ...
Un grand merci d'avance ... et bonne année 2013

ViPHP
ViPHP | 1996 Messages

31 déc. 2012, 15:50

Je ne vos qu'un seul mode : AJAX .
Tu affiches ta page et tu lances les 4 fichiers de traitement dès que la page est affichée. Cela utilise Javascript côté client qui lancera le traitement. C'est assez long à mettre en œuvre pur un débutant mais assez facile surtout en utilisant Jquery par exemple.

Bonne année à toi aussi.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 67 Messages

02 janv. 2013, 00:38

Je ne vos qu'un seul mode : AJAX .
Tu affiches ta page et tu lances les 4 fichiers de traitement dès que la page est affichée. Cela utilise Javascript côté client qui lancera le traitement. C'est assez long à mettre en œuvre pur un débutant mais assez facile surtout en utilisant Jquery par exemple.

Bonne année à toi aussi.
Merci pour ta réponse ...
Mais je suis nul en AJAX et en JavaSript.
Je pense que pour gagner quelques secondes d'affichage, si effectivement c'est long à créer, ça ne vaut pas la peine.
Je pensais plutôt à un truc du style iframe et mettre mes includes dedans mais ça ne semble pas être une solution.

Merci en tout cas
Philippe

Eléphant du PHP | 267 Messages

02 janv. 2013, 12:49

salut,

tu peux utiliser la fonction exec :
exec('php -f ./script.php ');

@+
dix2

Eléphant du PHP | 267 Messages

02 janv. 2013, 12:56

d'autres infos ici

Eléphant du PHP | 67 Messages

02 janv. 2013, 18:03

salut,

tu peux utiliser la fonction exec :
exec('php -f ./script.php ');

@+
dix2
Merci dix2 pour la piste à suivre.
J' ai trouvé le moyen d'afficher un petit sablier et un message d'attente ... je crois donc que je na vais pas pousser plus loin.

Merci à tous pour vos réponses et bonne année