Un livre d'or avec une pagination [PHP] !

Résolu/Fermé
Utilisateur anonyme - 29 avril 2011 à 15:21
 Utilisateur anonyme - 5 mai 2011 à 09:46
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 !



A voir également:

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
Utilisateur anonyme
5 mai 2011 à 09:46
MERCI, j'essaye et je vois après
0