Comment faire une pause dans une boucle php ?

[Fermé]
Signaler
Messages postés
2
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
12 mai 2009
-
 Atrer -
Bonjour,

J'aimerais savoir comment obtenir une pause dans l'exécution d'une boucle en php

Explication du problème ci-dessous :

<?php

$connexion=mysql_connect("mon_serveur","mon_login","mon_password")or die ("PROBLEME DE CONNEXION AU SERVEUR");
$db=mysql_select_db("ma_base") or die ("PROBLEME A L'OUVERTURE DE LA BASE DE DONNEE");
$req="SELECT * FROM $ma_table";
$res=mysql_query($req)or die ("Erreur à l'ouverture de la table ".mysql_error());
$fiches=mysql_num_rows($res);





for ($i=1; $i<=$fiches; $i++)
    {

    extract(mysql_fetch_array($res));
    
/*
la table se compose de 2 champs : 'nom' et 'image' reprenant respectivement
le titre donné à une photo et son nom de fichier. Ex: 'Sous-bois' 'photo001.jpg'

Le titre de la photo s'affiche et en-dessous l'image
*/

    echo $nom."<br>"."img src='http://mon_monsite/images/".$image."' border='0'><br><hr>";


/* c'est ici que je voudrais faire une pose de 5 seconde avant l'affichage
du nom et de la photo suivante et ainsi de suite */

/* j'ai donc essayé : */
 sleep(5);
 
/* mais il bloque l'exécution de tout l'affichage durant 5 secondes x nbre de
fiches de la base avant d'afficher le tout en une fois */
    
    }
    
    
?>


1 réponse

Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
133
Le php sert classiquement à générer une page html. Cette page sera envoyée au client une fois générée. La pause que tu demandes de faire a lieu pendant cette génération, donc avant que le client reçoive la page, c'est pourquoi l'affichage se fait en une seule fois...

Pour modifier le comportement de la page, il faut utiliser de la programmation côté client, avec Javascript par exemple.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
12 mai 2009

merci pour l'info
Permettez mon intervention car j'ai un problème identique à pepeche1961, je voulais savoir donc si la boucle est infinie par exemple avec "while (true)" comment faire car la page est généré à la fin de la boucle avec la fonction "sleep()" ???
donc même réponse:
psychopathe:
Pour modifier le comportement de la page, il faut utiliser de la programmation côté client, avec Javascript par exemple.

edit:euh une boucle infinie ça s'appelle un bug....un des pires qui s'il ne provoquent pas une erreur fatale va simplement flinguer le programme.
while(true==true){
echo "ça sert à rien du tout mais je consomme des ressources et fait travailler le serveur jusqu'à saturer sa RAM...";
// donc c'est plus qu'à éviter :s
}