Pagination alphabétique
Résolu
lesfullsetteursps1
-
lesfullsetteursps1 -
lesfullsetteursps1 -
Bonjour,
J'essaye de faire une pagination alphabétique, affichage de l'alphabet en haut de ma page, et quand on clique sur une lettre, seul les enregistrement de ma table voulu commençant par la lettre séléctionner s'affiche.
Je suis perdu dans mon code, il m'affiche toujours la totalité de ma table.
Qu'est ce que j'ai pus oublier ?
Merci d'avance de votre aide
J'essaye de faire une pagination alphabétique, affichage de l'alphabet en haut de ma page, et quand on clique sur une lettre, seul les enregistrement de ma table voulu commençant par la lettre séléctionner s'affiche.
Je suis perdu dans mon code, il m'affiche toujours la totalité de ma table.
Qu'est ce que j'ai pus oublier ?
<?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 = "ma_colonne REGEXP '^[0-9]'"; else /* sinon on selectionnera les premiere lettres commençant par le $_GET */ $where = "LEFT(ma_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 * FROM ma_table WHERE '.$where.' ORDER BY titre ASC'); while($resultat = $requete->fetch()) { } ?>
Merci d'avance de votre aide
Configuration: Windows / Firefox 81.0
A voir également:
- Pagination alphabétique
- Comment trier par ordre alphabétique sur excel - Guide
- Pagination powerpoint - Guide
- Classer les applications par ordre alphabétique iphone - Guide
- Logiciel répertoire alphabétique gratuit - Télécharger - Bureautique
- Sommaire avec pagination - Guide
5 réponses
Bonjour,
Pour comprendre... tu devrais déjà faire un
Au début de ton script ...
Tu verras alors que le nom de ta variable c'est "page" et non pas "l"
Et au passage, un peu de lecture histoire d'améliorer un peu l'écriture de ton code
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Pour comprendre... tu devrais déjà faire un
var_dump($_GET);
Au début de ton script ...
Tu verras alors que le nom de ta variable c'est "page" et non pas "l"
Et au passage, un peu de lecture histoire d'améliorer un peu l'écriture de ton code
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
En faisant un
J'obtiens ceci :
array(1) { ["page"]=> string(1) "H" }
donc il reconnais bien la lettre H présente dans, l'url du navigateur, donc pourquoi cela n'affiche pas que les entrée commençant par la lettre H ?
var_dump ($_GET);
J'obtiens ceci :
array(1) { ["page"]=> string(1) "H" }
donc il reconnais bien la lettre H présente dans, l'url du navigateur, donc pourquoi cela n'affiche pas que les entrée commençant par la lettre H ?
J'ai lu, et relu le code, mais j'arrive pas a comprendre, comment ma variable peut s'appellais "page" ?
Ben... par ce que c'est le nom que tu as donné à ta variable dans l'url qui te permet de changer de page
Tu crois que le ?page= qui se trouve dans l'url il sert à quoi ??
Et puis, tu vois bien que dans ton var_dump .. c'est bien la variable page qui est présente...
Donc.. c'est bien cette variable qu'il faut utiliser...
Je ne vois pas ce que tu cherches à comprendre d'autre...
echo '<a href="index.php?page='.$l.'" style="font-weight: bold; color: #FF0000;">'.$l.'</a> ';
Tu crois que le ?page= qui se trouve dans l'url il sert à quoi ??
Et puis, tu vois bien que dans ton var_dump .. c'est bien la variable page qui est présente...
Donc.. c'est bien cette variable qu'il faut utiliser...
Je ne vois pas ce que tu cherches à comprendre d'autre...
Je vois pas du tout ou l'utiliser cette variable ? dans mon url ?
C'est pourtant ce que je fais :
http://127.0.0.1/mon_site/page.php?page=0-9
Je suis complètement larguer :(
C'est pourtant ce que je fais :
http://127.0.0.1/mon_site/page.php?page=0-9
Je suis complètement larguer :(
oh purée....
Tu as , dans ton code
ici =>
ecrit à plusieurs endroits:
au lieu de
.... il suffit donc de modifier ces quelques lignes de code pour utiliser la bonne variable...
ce n'est pourtant pas compliqué à comprendre....
Tu as , dans ton code
ici =>
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 = "ma_colonne REGEXP '^[0-9]'"; else /* sinon on selectionnera les premiere lettres commençant par le $_GET */ $where = "LEFT(ma_colonne, 1)='".$_GET['l']."'"; }
ecrit à plusieurs endroits:
$_GET['l']
au lieu de
$_GET['page']
.... il suffit donc de modifier ces quelques lignes de code pour utiliser la bonne variable...
ce n'est pourtant pas compliqué à comprendre....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question