Comment faire une pause dans une boucle php ?

Fermé
pepeche1961 Messages postés 2 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 12 mai 2009 - 11 mai 2009 à 20:20
 Atrer - 25 avril 2012 à 12:57
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

pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
11 mai 2009 à 20:41
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
pepeche1961 Messages postés 2 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 12 mai 2009
12 mai 2009 à 07:07
merci pour l'info
0
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()" ???
0
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
}
0