Bonjour/Bonsoir à vous !!!

Voilà je bosse actuellement sur une pagination j'ai donc une base de donnée reliée a cette pagination !

Pour le moment tout va bien seulement voilà sur mon site il va y avoir énormément d'article ! Actuellement ma pagination fonctionne mais ayant limité le nombre d'article sur la page à 6 je me retrouve rapidement avec une barre de pagination avec 20 numérotations.

Après avoir cherché un peu partout et surement grâce a un excès d'agacement je me retourne désespérément vers vous Smiley decu

PS: Il y a aussi une barre de recherche dans ce code relié a mes articles qui permet d'afficher selon la recherche le résultat parmi les articles. Si jamais vous avez besoin d'aide pour distinguer ce code n'hésitez pas !

Voici mon code actuellement :

<?php
define("ROW_PER_PAGE",6);
require_once('db.php');
?>

<?php	
	$search_keyword = '';
	if(!empty($_POST['search']['keyword'])) {
		$search_keyword = $_POST['search']['keyword'];
	}
	$sql = 'SELECT * FROM fichevideo WHERE summoners LIKE :keyword OR champion LIKE :keyword ORDER BY id DESC ';
    
	/* Pagination Code starts */
	$per_page_html = '';
	$page = 1;
	$start=0;
	if(!empty($_POST["page"])) {
		$page = $_POST["page"];
		$start=($page-1) * ROW_PER_PAGE;
	}
	$limit=" limit " . $start . "," . ROW_PER_PAGE;
	$pagination_statement = $pdo_conn->prepare($sql);
	$pagination_statement->bindValue(':keyword', '%' . $search_keyword . '%', PDO::PARAM_STR);
	$pagination_statement->execute();

	$row_count = $pagination_statement->rowCount();
	if(!empty($row_count)){
		$per_page_html .= "<div style='text-align:center;margin:20px 0px;'>";
		$page_count=ceil($row_count/ROW_PER_PAGE);
		if($page_count>1) {
			for($i=1;$i<=$page_count;$i++){
				if($i==$page){
					$per_page_html .= '<input type="submit" name="page" value="' . $i . '" class="btn-page current" />';
				} else {
					$per_page_html .= '<input type="submit" name="page" value="' . $i . '" class="btn-page" />';
				}
			}
		}
		$per_page_html .= "</div>";
	}
	
	$query = $sql.$limit;
	$pdo_statement = $pdo_conn->prepare($query);
	$pdo_statement->bindValue(':keyword', '%' . $search_keyword . '%', PDO::PARAM_STR);
	$pdo_statement->execute();
	$result = $pdo_statement->fetchAll();
?>
<form name='frmSearch' action='' method='post'>
<div style='text-align:left;margin:20px 0px;'></div>
<table class='tbl-qa'>
	<?php
	if(!empty($result)) { 
		foreach($result as $row) {
	?>
	      <div id="zone-video">	<!-- Structure du contenu news -->
				
					<div id="zone-description-video">	<!-- Structure de la zone description à gauche -->	
				
						<div id="zone-summoners">	
						
						<h1> Summoners : </h1>
						<p><?php echo $row['summoners']; ?></p>
						
						</div>
						
						<div id="zone-servers">
						
						<h1> Server : </h1>
						<p><?php echo $row['server']; ?></p>
						
						</div>	

						<div id="zone-profile">
						
						<h1>Profile : </h1>
						
						<a href="<?php echo $row['profile']; ?>"><button type="button" name="" value="" class="css3button">profile</button></a>
						
						</div>						
				
					</div>
					
					<div id="zone-lecteur">	<!-- Structure de la zone vidéo news à droite -->					
					
						<div id="video-lecteur">
		
						<?php echo $row['video']; ?>

						</div>	
						
					</div>
				
			</div>
    <?php
		}
	}
	?>
</table>
<?php echo $per_page_html; ?>
</form>



Le :

<?php
define("ROW_PER_PAGE",6);
require_once('db.php');
?>


Représente juste la connexion a ma base de donnée.

Donc l'objectif que je me fixe est le suivant : Limiter le nombre de bouton de ma pagination à 10 et ajouter avant un PREV et après un NEXT !

Merci pour votre lecture, votre temps et votre savoir !

Cordialement Vaudoo !
Modifié par Vaudoo (28 Oct 2017 - 01:40)
- La page précédente c'est la page en cours moins 1 si > 0
- Pour les numéros cela dépend si tu en veux tout le temps 10, si tu souhaite que le numéro de la page en cours soit au centre ou encore si tu veux afficher les numéro de 1 à 10 puis de 11 à 20
- La page suivante c'est la page en cours plus 1 si <= au total de pages
Toujours le même problème.. Je n'arrive pas a créer mes prev & next .. Si quelqu'un a une idée je suis preneur.. Smiley decu
Merci de préciser clairement ce qui ne va pas... Les ça marche pas ou mâchouillez moi une réponse toute faite ne sont pas bienvenus ici.