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 :

Afficher une progression d'exécution d'une requête


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut Afficher une progression d'exécution d'une requête
    Bonjour,

    J'exécute une mise a jour dans une table qui est appelé à grandir entre 1 et plus 5000 enregistrements. Et je voudrais afficher à l'utilisateur un message selon le nombre d'enregistrements à mettre à jour, du genre "Cette opération prendra plusieurs minutes..." avec à côté une progreession du genre 0%.....1%....2% jusqu'à 100% au moment où la mise à jour est complète.

    Je n'ai aucune idée sur comment procéder pour savoir le nombre d'enregistrements déjà mis à jour, jusqu'à la fin, j'ai juste besoin d'indications qui m'aideront à y parvenir, j'utilse jQuery côté client, PHP côté Serveur et MySQL côté base de données

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu fais des UPDATE en boucle, la réponse est dans la question.
    Si tu fais une seule requête UPDATE, mysql ne fournit pas d'informations précises sur l'avancement en dehors de SHOW PROCESSLIST
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut
    Effectivement je fais des UPDATE en boucle, mais je ne comprends pas comment tu dis que la réponse est dans la question. Puisque quand je fais ceci pour tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for($i=0; $i<20000; $i++) {
     
    	$update_query = "UPDATE `user` SET `Age`='$i' WHERE `ID`='1'";
            $resultat1=mysql_query($update_query);
    	echo $i; echo "<br>";
     
    }
    Il ne m'envoie pas le echo après chaque exécution, si tel était le cas, ce serait l'idéal pour moi, mais il m'envoie le echo des différentes valeurs de $i lorsque les 20000 UPDATE ont été effectués

  4. #4
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    Ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
           echo $i; echo "<br>";
           flush();
           ob_flush();
    Tu aura l'effet voulu

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Au passage, pas de guillemets sur les nombres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $update_query = "UPDATE `user` SET `Age`=$i WHERE `ID`=1";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/01/2008, 08h47
  2. Réponses: 14
    Dernier message: 10/01/2007, 10h12
  3. Localiser une erreur d'exécution dans une DLL
    Par Invité dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2006, 21h04
  4. Comment faire une progression du chargement d'une image ?
    Par uranium-design dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/10/2006, 09h09
  5. Réponses: 6
    Dernier message: 26/07/2005, 10h20

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