2 pièce(s) jointe(s)
pagination avec des lettres
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... :mrgreen:
voici mon code
Code:
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>";
}
?> |
Je pense que mon problème est au niveau de ma requête, j'ai l'impression qu'il me manque quelques choses...
Code:
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>";
} |