Page 1 sur 1

système de pagination

Posté : 11 juin 2012, 10:33
par banban55
Bonjour à tous.

Je viens à nouveau vers vous afin d'obtenir de l'aide sur un système de pagination pour l'affichage de mes réalisations dans un portfolio.
voila je vous explique mon objectif. J'arrive sur la page portfolio par défaut j'affiche les réalisations de la première rubrique jusque là, pas de soucis. Ensuite voici un petit aperçu pour être plus clair

Image

J'aimerai obtenir un affichage de 6 vignettes par page et donc mettre en place une pagination de type

Page: 1 - 2 - 3 ....


voici le code de ma page galerie
<?php /*-- variable rubrique --*/ $rubriques = "print";?>

<?php
    if (isset($_GET['rubrique'])) {
        $rubrique         = intval($_GET['rubrique']);
        $sql_image        = "SELECT id_realisation, titre_realisation, description_realisation, url_realisation, fichier_image FROM `realisation` JOIN `images` ON realisation.id_realisation = images.id_images_realisation WHERE id_categorie_realisation = " . $rubrique . ";";
        $result_sql_image = mysql_query($sql_image) or die('Erreur : '.mysql_error());
    }
    else {
        $rubrique        	= 14;
        $sql_image        = "SELECT id_realisation, titre_realisation, description_realisation, url_realisation, fichier_image FROM `realisation` JOIN `images` ON realisation.id_realisation = images.id_images_realisation WHERE id_categorie_realisation = " . $rubrique . ";";
        $result_sql_image = mysql_query($sql_image) or die('Erreur : '.mysql_error());
    }
    
    $images = array();
    
    while ($row_images = mysql_fetch_array($result_sql_image)) {
        array_push($images, $row_images);
    }
    
    if (count($images) > 0) {
?>

<div id="galerie">
    <div id="fullsize">
        <img id="big_pict" src="img/fullsize/<?php echo $images[0]['fichier_image'];?>" alt="Photo 1 en taille normale" />
    </div>
    
    <div id="thumbs">
        <ul id="galerie_mini">
<?php
        foreach ($images as $index => $row) {
            echo '<li>';
            echo '<a href="img/fullsize/' . $row['fichier_image'] . '" title="' . $row['titre_realisation'] . ' ' . $row['description_realisation'] . '">';
			echo '<span style="position:relative;">';
			echo '<img class="positionnement" src="img/miniature-nb/' . $row['fichier_image'] . '" alt="' . $row['titre_realisation'] . '" />';
			echo '<img class="fade" src="img/miniature/' . $row['fichier_image'] . '"/>';
			echo '</span>';
            echo '</a>';
			echo '</li>';
        }
?>
        </ul>
    </div>
	<div id="positionnement_description">
		
			<p class="titre_rea_info"><?php echo $images[0]['titre_realisation'];?></p>
	</div>
</div>
<?php
    }
?>

ma table rubrique
CREATE TABLE IF NOT EXISTS `rubrique` (
  `id_rubrique` int(11) NOT NULL AUTO_INCREMENT,
  `ordre_rubrique` int(11) NOT NULL,
  `titre_rubrique` varchar(100) NOT NULL,
  `description_rubrique` text NOT NULL,
  PRIMARY KEY (`id_rubrique`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ;
ma table realisation
CREATE TABLE IF NOT EXISTS `realisation` (
  `id_realisation` int(11) NOT NULL AUTO_INCREMENT,
  `id_categorie_realisation` int(11) NOT NULL DEFAULT '0',
  `titre_realisation` varchar(255) NOT NULL,
  `description_realisation` text NOT NULL,
  `url_realisation` varchar(255) NOT NULL DEFAULT 'Aucun aperçu disponible',
  PRIMARY KEY (`id_realisation`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
et ma table images
CREATE TABLE IF NOT EXISTS `images` (
  `id_image` int(11) NOT NULL AUTO_INCREMENT,
  `id_images_realisation` int(11) NOT NULL,
  `fichier_image` varchar(255) NOT NULL,
  PRIMARY KEY (`id_image`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;
Pouvez-vous me mettre sur une piste ?

Re: système de pagination

Posté : 11 juin 2012, 11:11
par Mazarini
Il est possible de gérer les lignes retournée par un select avec LIMIT

Par exemple "select * from taTable LIMIT 11,20" qui permet de récupérer 20 lignes de la table à partir de la ligne 11. La gestion de la pagination consiste à calculer la position du premier enregistrement en fonction de la page affichée.