ecrire avant la ligne precedente

the crooner
Invité n'ayant pas de compte PHPfrance

20 déc. 2010, 00:23

Bonjour,

j'ai fait un petit programme qui me permet d'effectuer un scan dans une base de données. Pour verifier que ca ne plante pas, je fais afficher la chose suivante :

Code : Tout sélectionner

foreach ($tab_toto as $value){ $scan_reste=$scan_reste-1; echo "====> il reste ".$scan_reste." lignes à scanner"; echo "<br>"; flush(); ...
Mon scan fonctionne parfaitement, les n° de ligne restantes aussi. Le seul petit probleme c'est que le retour chariot va vers le bas. J'aimerais savoir s'il existe une fonction qui equivaut à un retour chariot sur la ligne du dessus (ou qui decale la derniere ligne ecrite et qui cale le curseur juste au dessus)

merci beaucoup de votre aide

cdlmt

ViPHP
xTG
ViPHP | 7331 Messages

20 déc. 2010, 11:31

Non il n'existe rien de tel. Pour reproduire une fonction de ce genre il faudrait enregistrer ce qu'il y a à afficher dans une variable (qu'on afficherai lorsque le script a fini) et travailler sur cette variable.
Il faut avoir un délimiteur de phrase, donc le <br> dans ton cas présenté, faire un explode() dessus et remanier le tableau obtenu pour insérer ce que tu veux entre le dernier index et l'avant-dernier.
Puis reconstruire la chaîne.

Pour ma part plutôt que de travailler sur une seule chaîne je travaillerai directement sur le tableau. Cela fait moins de calcul de conversion.

ViPHP
ViPHP | 2577 Messages

20 déc. 2010, 16:57

Bonjour,

Tu peux éventuellement écrire une fois au début :
echo '====> il reste <input id="nombre" type="text" value=".$scan_reste.'"> lignes à scanner';

et ensuite écrire les lignes suivantes :
<script>
num = getElementById('nombre');
num.value = '$scanreste';
</script>

Cela devrait changer ton input à chaque écriture (après correction su javascript car je ne suis pas très bon en la matière).