nemesis93_75 Posté(e) le 18 septembre 2008 Partager Posté(e) le 18 septembre 2008 Salut à tous, alors je vais vous expliquer mon problème : j'ai un accès à une BDD MSSQL à distance (je ne peux rien changer sur la BDD), et quand je veux récupérer mes données, je met environ 3min (160sec exactement) je sais c'est super long, mais j'y peux rien (bah ouai, environ 20000 entrées ) j'aimerais faire un barre de chargement mais je vois pas du tout comment faire pour l'instant je me fait un compteur des pièces qui affiche au fur et mesure le nombre de pièces chargées : $resultat = odbc_exec($connexion_sql, "SELECT DateHeure, Num_CdF_moyen_CTRL_Site FROM INTDENT_BIL_1 ORDER BY DateHeure DESC;"); $i = 0; if($resultat) { while ($aResult = odbc_fetch_array($resultat)) { $i++; echo $i.' pièces chargées<br />'; ob_flush(); flush(); } } c'est juste pour l'instant des tests, je ne traite pas encore mes données. Donc comme je l'ai dit, je voudrais passé ce compteur en barre de chargement, sachant que j'arrive à afficher ce compteur en pourcentage avez vous une idée? Merci d'avance Nemesis Lien vers le commentaire Partager sur d’autres sites More sharing options...
nemesis93_75 Posté(e) le 19 septembre 2008 Auteur Partager Posté(e) le 19 septembre 2008 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ryu Posté(e) le 19 septembre 2008 Partager Posté(e) le 19 septembre 2008 J'ai pensé à une solution contournée, tu prends une image animé (un look-like du chargement de mac OS par exemple ) Et tu indique le pourcentage en-dessous Lien vers le commentaire Partager sur d’autres sites More sharing options...
nemesis93_75 Posté(e) le 19 septembre 2008 Auteur Partager Posté(e) le 19 septembre 2008 l'image c'est déjà fait ^^ mais en fait mon problème (et je sais pas du tout comment le réglé) c'est que pour l'instant mon pourcentage s'affiche à chaque chargement d'une ligne donc 20000 fois affiché ça fait mal aux yeux même si c'est pas une barre, je cherche un truc qui me bloque une div, et qui affiche que dans la div je sais pas si vous me comprenez, mais en gros, un exemple: je suis à 6%, on voit le ring d'attente, on voit afficher 6%, mais quand ça passe à 7%, paf 6% s'efface pour laisser 7% enfin ça m'a l'air compliqué en PHP ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ryu Posté(e) le 19 septembre 2008 Partager Posté(e) le 19 septembre 2008 Hmmm, Pour le moment ça t'affiche quoi exactement ? plein de ligne ? Je pense que pour une barre de chargement javascript doit être mieux adapté que php, mais je me trompe peut être... Lien vers le commentaire Partager sur d’autres sites More sharing options...
BreizFenrir Posté(e) le 19 septembre 2008 Partager Posté(e) le 19 septembre 2008 Donc si j'ai bien compris, tu veux afficher sur la page du client le pourcentage exact de lignes chargées, information connue par le serveur uniquement bien sûr. Je crains que tu n'ai d'autre choix que de mettre en place une solution de type AJAX. Il faudrait jeter un ½il aux frameworks existants, voir si un tel problème n'a pas déjà une solution clef en main. Ça serait l'idéal. Dans le cas contraire, il va falloir mettre les mains dans le cambouis. Il faudrait que la page ouvre une connexion avec le serveur, que ce dernier utilisera pour notifier ce dernier du changement de pourcentage (pas forcément tous les 1% par contre, ça chargerait le serveur pour rien à mes yeux). Un article intéressant sur ce genre de technique. Côté client, à chaque réception d'information de la part du serveur, on enlève le pourcentage précédemment indiqué et on met le nouveau, en modifiant le DOM avec Javascript. Mais ça n'est pas la solution la plus optimale à mon avis. Tu es sûr que tu as besoin d'afficher les 20 000 entrées sur ta page ? Tu ne peux pas faire un filtrage sur les données avant ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
nemesis93_75 Posté(e) le 19 septembre 2008 Auteur Partager Posté(e) le 19 septembre 2008 le problème c'est que ma boîte veut un filtrage dynamique, car on peut ajouter des pièces... donc obliger de faire au moins une fois le tour de la base pour avoir les filtres sinon merci pour ton lien BreizFenrir, je regarde ça Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.