Bonsoir,
J'aimerais bien crée un système de pagination avec des lettres, lorsque je clique sur une lettre, par exemple A, rien ne s'affiche...
voici mon code
Je pense que mon problème est au niveau de ma requête, j'ai l'impression qu'il me manque quelques choses...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php $bdd = new PDO ("mysql:host=localhost;dbname=bd", "root", ""); // on crée un array contenant l'alphabet et un 0-9 $list = range('A', 'Z'); array_unshift($list, '0-9'); // Si $_GET['l'] existe et qu'il se trouve dans l'array if(isset($_GET['l']) AND in_array($_GET['l'], $list)){ if($_GET['l'] == '0-9') /* si $_GET['l'] est égale à: 0-9 on fera un REGEX */ $where = "colonne REGEXP '^[0-9]'"; else /* sinon on selectionnera les premiere lettres commençant par le $_GET */ $where = "LEFT(colonne, 1)='".$_GET['l']."'"; } // sinon pas de $_GET ou n'est pas dans l'array else $where = 1; // on seletionne tout // on fait une boucle pour afficher les liens foreach($list as $l){ if(isset($_GET['l']) AND $_GET['l'] == $l) echo '<a href="index.php?page='.$l.'" style="font-weight: bold; color: #FF0000;">'.$l.'</a> '; else echo '<a href="index.php?page='.$l.'">'.$l.'</a> '; } $requete = $bdd->query('SELECT nom FROM fournisseur WHERE '.$where.' ORDER BY nom ASC'); while($resultat = $requete->fetch()) { // echo $resultat['nom']. "<br>"; } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $requete = $bdd->query('SELECT nom FROM fournisseur WHERE '.$where.' ORDER BY nom ASC'); while($resultat = $requete->fetch()) { echo $resultat['nom']. "<br>"; }
Partager