Recaler un pointeur en debut de page HTML

Petit nouveau ! | 2 Messages

22 janv. 2011, 11:24

Bonjour,

j'ai un petit script qui fonctionne parfaitement. Il me permet de requeter des annonces sur un site internet et de les stocker dans une BD. J'aimerais amener une petite amelioration. En effet, actuellement, pour suivre l'evolution du scan, j'affiche un message sur une page blanche :
====> il reste 6 annonces à scanner
====> il reste 5 annonces à scanner
====> il reste 4 annonces à scanner
====> il reste 3 annonces à scanner
====> il reste 2 annonces à scanner
c'est une variable qui se décrémente dans une boucle.. jusque là pas de probleme. J'affiche la ligne avec un simple "echo"

Code : Tout sélectionner

echo "====> il reste ".$annonces_scan_reste." annonces à scanner"; echo "<br>"; flush();
Ce que j'aimerais faire, c'est d'afficher la ligne suivante au dessus de la ligne precedente. Autrement dit recaler mon curseur à la ligne au dessus de la ligne que je viens d'ecrire plutot qu'en dessous.

Je ne connais pas la commande pour faire cela. Pouvez vous m'aider??

merci d'avance

Eléphant du PHP | 99 Messages

22 janv. 2011, 12:21

Salutations,

est-ce qu'on peut voir plus d'avantage de code, par exemple la structure de ta bdd et le code d'appel pour afficher celà.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 janv. 2011, 20:11

Il n'y a pas de commande php pour faire cela... tout ce que va faire php c'est te permettre de générer le code source de la page html qui est envoyée au navigateur. Tu ne pourras donc pas changer l'ordre des informations que tu envois au fur et à mesure.

En revanche tu dois pouvoir gérer cela avec du javascript et du css. Tu peux par exemple générer une ligne de code javascript qui pourra faire apparaitre ton message à l'endroit souhaité de ta page, par exemple au début d'un div...

Je n'ai pas testé, mais cela pourrait ressembler à quelque chose comme ça :
echo '<div id="mondiv"></div>';
echo '<script ...>';
...
echo 'document.getElementById("mondiv").innerHtml = "====> il reste '.$annonces_scan_reste.' annonces à scanner" + document.getElementById("mondiv").innerHtml;';
...
echo '</script>';
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 2 Messages

22 janv. 2011, 20:47

Salutations,

est-ce qu'on peut voir plus d'avantage de code, par exemple la structure de ta bdd et le code d'appel pour afficher celà.
ce n'est pas un probleme de BDD mais un probleme d'affichage dans le navigateur..

j'ai un script qui scanne le code d'une annonce.. il en retire certaines infos qu'il envoie à la BDD.. là pas de probleme..
Comme le traitement peut etre long (plusieurs centaine d'annonce), je fait defiler des marqueurs sur la page du navigateur afin de voir où j'en suis dans les annonces.. et voir si ca n'a pas planté

c'est ce ci
Vous scannez 6 annonces au total
====> il reste 6 annonces à scanner
====> il reste 5 annonces à scanner
====> il reste 4 annonces à scanner
====> il reste 3 annonces à scanner
====> il reste 2 annonces à scanner
====> il reste 1 annonces à scanner
Scan terminé
Entre l'affichage de "====> il reste 6 annonces à scanner" et de "====> il reste 5 annonces à scanner", il y a le traitement de l'annonce 6. Les donnés sont stoquées dans la BDD (ca ca marche parfaitement).
Mais ce que je veux, c'est "====> il reste 5 annonces à scanner" s'ecrive au dessus de "====> il reste 6 annonces à scanner"

voilà...
Il n'y a pas de commande php pour faire cela... tout ce que va faire php c'est te permettre de générer le code source de la page html qui est envoyée au navigateur. Tu ne pourras donc pas changer l'ordre des informations que tu envois au fur et à mesure.
Bon ben tant pis.. je ne veux pas me casser la tete avec du java (que je ne sais pas coder). C'etait juste pour que ca soit plus pratique à suivre.. je continuerai donc de descendre la scrolling avec la souris :wink:

merci de votre aide..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 janv. 2011, 11:39

C'est du javascript, pas du java, ce n'est pas la même chose :)

Et tu devrais essayer mon bout de script, il n'est pas bien compliqué et devrait te permettre de faire ce que tu veux, il faut juste remettre ta boucle autour de la chaine à afficher (là où j'ai collé des "...") :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...