1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<?php
require_once("connexiondessins.inc.php");
$imageparpage=12;
$retour = $bdd->prepare('SELECT COUNT(*) AS nb_images FROM dessins');
$retour->execute();
// inutile de faire une boucle vu que tu attends une seule valeurwhile ($dessins = $retour->fetch(PDO::FETCH_ASSOC));
$dessins = $retour->fetch(PDO::FETCH_ASSOC);
$totaldesimages = $dessins['nb_images'];
$nombredepage = ceil($totaldesimages/$imageparpage);
echo 'Page : ';
for ($i = 1 ; $i <= $nombredepage ; $i++)
{
// Ca cest pas mal taffiche toutes les pages
// Attention par contre faut pas en avoir 15000
echo '<a href="sps.php?page=' . $i . '">' . $i . '</a> ';
}
// ca ne suffit pas il faut que tu vérifie aussi que ce n'est pas vide
// Note : le isset est utile ici pour ne pas avoir d'erreur Undefined index
// Et comme il s'agit d'un ET fainéant (&&) alors il vérifiera la deuxième condition seulement si la première est validé donc quand il fera le empty() le isset aura été validé (jespere que tu ma compris ^^)
if (isset($_GET['page']) && !empty($_GET['page']))
// encore mieux a la place de empty : is_numeric()
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
// Ici ce n'était pas ($page - 1) * $imageparpage;
$premiereimageafficher = $page* $imageparpage - $imageparpage;
// Attention : les requêtes préparés comme son nom l'indique sont préparées
// Tu ne dois passer de variable à l'intérieur surtout si l'action doit se répéter et que le contenu change : le but c'est que la requete se mette en cache et si tu change à chaque fois son contenu c'est pas top
// Et niveau sécurité c'est beaucoup mieux
$reponse = $bdd->prepare('SELECT id,categorie,titre,image,description FROM dessins WHERE categorie= :categorie ORDER BY id DESC LIMIT :offset, :nbimages');
$reponse->bindValue(':category', 'sps'); //bindValue si tu veux passer un String, bindParam pour une variable
$reponse->bindParam(':nbimages', $imageparpage);
$reponse->bindParam(':offset', $premiereimageafficher);
$reponse->execute();
?>
<?php while ($dessins = $reponse->fetch()) { ?>
<div class="cat1">
<?php echo '<span class="classtext1v">'.htmlspecialchars($dessins['categorie']).'</span>'; ?>
<br />
<?php echo '<span class="classtext2v">'.htmlspecialchars($dessins['titre']).'</span>'; ?>
<br />
<a href="selectionsps.php?id=<?php echo htmlspecialchars($dessins['id']); ?>"><img src="images/<?php echo htmlspecialchars($dessins['image']);?>" width="200" height="250" /></a>
</div>
<? } $reponse->closeCursor(); ?> |