Un livre d'or avec une pagination [PHP] ! [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
Bonjour, Je suis en ce moment même en train de coder un livre d'or. Je veux afficher 5messages par page, mais quand je vais sur la page 2, : Fatal error: Maximum execution time of 30 seconds exceeded in /home/endymion/public_html/V.2.0/livre_or.php on line 181
Je ne comprends pas.
Voici mon code :
if (isset($_GET['page']))
{
$page = $_GET['page'];// On récupère le numéro de la page indiqué dans l'adresse (livre_or.php?page=4)
}
else
{
$page = '1';
}
$de = '0';
$a = '5';
$c1 = '1';
while ($c1 != $page)
{
$de = $de+'5';
$compteur++;
}

$reponse = $bdd->query("SELECT * FROM livre_or ORDER BY 'id' DESC LIMIT $de, $a")or die(print_r($bdd->errorInfo()));
while ($donnees = $reponse->fetch())
{
$pseudo = $donnees ['pseudo'];
$message = $donnees ['message'];
echo "<li><strong>$pseudo</strong> a écrit :<br>$message</li>";
}
?>
Merci d'avance !



1 réponse

Bonjour
while ($c1 != $page)
{
$de = $de+'5';
$compteur++;
} 

Ni $c1, ni $page ne changent dans ta boucle... Si la condition n'est pas vraie dès le départ, elle ne le sera jamais et tu vas boucler indéfiniment dans ton while
Ou tu fais un test différent, ou tu fais un petit ++ à une de tes variables $c1 ou $page.

Au passage, $de = $de+'5'; est une mauvaise écriture. en écrivant '5', tu en fais une chaîne, tu obliges PHP à le traduire en nombre pour pouvoir faire l'addition. Autant écrire 5 sans simple quotes.
ET pour ajouter quelque chose à une variable, autant utiliser la syntaxe courte :
$de += 5;
1
Merci

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

CCM 76687 internautes nous ont dit merci ce mois-ci

Utilisateur anonyme
MERCI, j'essaye et je vois après