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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| <?php
$type = mysql_real_escape_string($_GET ["type"]);
?>
<li class="<?php echo ($type=='')?'current':'';?>"><a href="travaux.php">tout</a></li>
<li class="<?php echo ($type=='identite')?'current':'';?>"><a href="travaux.php?type=identite">identité</a></li>
<li class="<?php echo ($type=='typographie')?'current':'';?>"><a href="travaux.php?type=typographie">typographie</a></li>
<li class="<?php echo ($type=='photographie')?'current':'';?>"><a href="travaux.php?type=photographie">photographie</a></li>
<li class="<?php echo ($type=='affiche')?'current':'';?>"><a href="travaux.php?type=affiche">affiche</a></li>
<li class="<?php echo ($type=='web')?'current':'';?>"><a href="travaux.php?type=web">web</a></li>
</ul>
</nav>
<?php
//On initialise la connexion à la bdd
try
{
$db_host = "localhost"; //Lieu où est héberger la BDD
$db_name = "galerie"; //Nom de la BDD
$db_login = "root"; //Login de connexion à la BDD
$db_mdp = "root"; //Mot de passe de connexion à la BDD
$bdd=new PDO("mysql:host=$db_host;dbname=$db_name",$db_login,$db_mdp);
}
catch(Exception $e)
{
exit("<h1>Erreur de connexion à la BDD SQL</h1></body></html>");
}
/* mise en place du nombre d'affichage de galeries par page */
$nb_affiche = 9; //Nombre de galeries que l'on veut par page
//On va afficher la/les galeries selon la page où l'on ce trouve
if (isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page']>0)
{
//$start nous sert pour savoir où commence l'affichage des galeries selon la page où l'on est
$start = $_GET['page'] * $nb_affiche - $nb_affiche;
//On récupère la page sur laquelle on est, nécessaire lors de la pagination
$page = $_GET['page'];
}
else
{
$start = 0;
$page = 1;
}
/* ========================================================= */
//On prepare la requete SQL
if( !empty($_GET['type']) )
{
$type = mysql_real_escape_string($_GET ["type"]); // ne jamais oublier les fonctions de protection contre les injections SQL !
$req = $bdd->prepare("SELECT * FROM travaux WHERE type='$type' ORDER BY id DESC LIMIT :start,:nb_affiche");
}
else
{
$req = $bdd->prepare("SELECT * FROM travaux WHERE type<>'undo-redo' ORDER BY id DESC LIMIT :start,:nb_affiche");
}
$req->bindValue(':start',$start,PDO::PARAM_INT);
$req->bindValue(':nb_affiche',$nb_affiche,PDO::PARAM_INT);
$req->execute();
while ($donnees = $req->fetch())
{
?>
<div class="galerie">
<div class="home-gal">
<div class="inner">
<div class="right">
<a href="galerie.php?id=<?php echo $donnees ['id']; ?>"><span class="arrow">❯</span>
</a>
</div>
<img class="lazy" data-src="<?php echo $donnees["preview"]; ?>"/>
</div><!-- inner -->
</div> <!-- lol -->
</div> <!-- galerie -->
<?php
}
$req->closeCursor();
//On met en place la pagination
if( !empty($_GET['type']) )
{
$type = mysql_real_escape_string($_GET ["type"]); // ne jamais oublier les fonctions de protection contre les injections SQL !
$req = $bdd->prepare("SELECT COUNT(*) AS nb_galerie FROM travaux WHERE type='$type'");
}
else
{
$req = $bdd->prepare("SELECT COUNT(*) AS nb_galerie FROM travaux");
}
$req->execute();
$nb_galerie = $req->fetch();
$nb_galerie = $nb_galerie['nb_galerie']; //On associe le nombre de galeries
$nb_pages = ceil($nb_galerie / $nb_affiche); //On compte le nombre de pages par rapport au nombre de galeries que l'on veut par page
include('pagination.php');
if( !empty($_GET['type']) )
{
$type = mysql_real_escape_string($_GET ["type"]); // ne jamais oublier les fonctions de protection contre les injections SQL !
echo paginate($_SERVER['PHP_SELF'],'?type='.$type.'&page=',$nb_pages,$page);
}
else
{
echo paginate($_SERVER['PHP_SELF'],'?page=',$nb_pages,$page);
}
$req->closeCursor();
?> |
Partager