IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Marche à suivre pour établir une barre de progression


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut Marche à suivre pour établir une barre de progression
    Bonjour à tous,

    J'ai un petit soucis pour comprendre la mise en place d'une barre de progression avec mes scripts php.

    Ce que je souhaite, c'est afficher une barre de progression sur le temps qu'une synchronisation (unidirectionnelle) de mes données s'établit entre 2 bases mysql.
    Le traitement php se résume à ceci:

    -compare les id entre les bases et insert ceux qui ne sont pas trouvés dans la table esclave.

    Mais comment faire pour afficher la progression de la barre alors que je ne voit pas ce que je peut donner de tangible en information de progression.

    Ce n'est pas comme si j'uploadais un fichier dont je peux calculer le poids de celui-ci.

    Donc si quelqu'un peut m'aider à y voir clair

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Si tu fais qu'une seule requête , c'est tout simplement pas possible.

    Si au contraire tu as une requête par id , c'est assez simple puisque tu sais le nombre d'id à comparer (count) et le nombre de requête déjà effectué.

    Ceci étant dit faire une barre de progression en php n'est pas aisé puisque un script ne retourne rien au navigateur tant qu'il n'est pas terminé. Il faut forcer la sortie via des fonctions comme flush() et ob_flush
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Merci pour ta réponse.

    Je vais jeter un coup d'oeil là-dessus très rapidement.

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Si ça peut t'aider. Voici une technique pour envoyer les données au navigateur alors que le script php continue à s'exécuter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    header( 'Content-type: text/html; charset=utf-8' );
    for( $i = 0 ; $i <= 10 ; $i++ )
    {
        //----- l'echo ci-dessous est important
    	echo '<!--'.str_repeat("x", 4096).'//-->'.PHP_EOL;
    	$longueur = 30 * $i;
    	echo "<div id='toto' style='position: fixed;top:10px;left:10px;height:20px;width:300px;border: 3px solid #73AD21;z-index:2;text-align:center'></div>".PHP_EOL; 	
    	echo "<div style='position: fixed;top:10px;left:10px;height:20px;width:${longueur}px;border: 3px solid #73AD21;background-color:#73AD21;z-index:1'></div>".PHP_EOL; 
    	echo "<script>document.getElementById('toto').innerHTML = (10 * $i)+'%';</script>";
        flush();
        ob_flush();
        sleep(1);
    }
    ?>
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/01/2010, 10h26
  2. Thread pour une barre de progression
    Par BATCHOS CON TEQUILA dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 15/01/2009, 02h05
  3. marche a suivre pour la creation d'un progress bar
    Par azde7015 dans le forum Access
    Réponses: 1
    Dernier message: 19/02/2006, 11h06
  4. [C#]Affichage d'une barre de progression
    Par boleduch dans le forum ASP.NET
    Réponses: 9
    Dernier message: 27/08/2005, 17h12
  5. Indy FTP (idFTP) faire une barre de progress de transfert
    Par Harry dans le forum Web & réseau
    Réponses: 4
    Dernier message: 09/07/2004, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo