[RESOLU] Pagination alphabétique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Pagination alphabétique

Re: Pagination alphabétique

par ChrisCMoi62 » 25 mars 2021, 17:39

J'ai trouvé et je publie au cas où quelqu'un serait intéresse :
Merci pour votre aide :-)

Code : Tout sélectionner

<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <br /> <br /> <div class="container" style="width:1100px;"> <br /> <br /> <div class="table-responsive"> <div align="center"> <?php $connect = mysqli_connect( 'localhost', 'root', '', 'mabase' ); $character = ''; if (isset($_GET["character"])) { $character = $_GET["character"]; $character = preg_replace( '#[^a-z]#i', '', $character ); $query = "SELECT * FROM livres WHERE auteur LIKE '$character%'"; } else { $query = "SELECT * FROM livres WHERE auteur"; } $result = mysqli_query( $connect, $query ); ?> <?php $character = range( 'A', 'Z' ); echo '<ul class="pagination">'; foreach ( $character as $alphabet ) { echo '<li><a href="mapage.php?character=' . $alphabet . '">' . $alphabet . '</a></li>'; } echo '</ul>'; ?> </div> <table class="table table-bordered"> <tr> <th width="50%">Auteur</th> <th width="50%">Titre</th> </tr> <?php if ( mysqli_num_rows( $result ) > 0 ) { while ( $row = mysqli_fetch_array( $result ) ) { ?> <tr> <td><?php echo $row["auteur"] ?></td> <td><?php echo $row["titre"] ?></td> </tr> <?php } } else { ?> <tr> <td colspan="3" align="center">Aucun résultat trouvé</td> </tr> <?php } ?> </table> </div> </div> </body> </html>

Re: Pagination alphabétique

par Ryle » 25 mars 2021, 17:25

Pour faire simple, tu as un problème de cohérence entre cette ligne :
echo '<li><a href="index.php?character='.$alphabet.'">'.$alphabet.'</a></li>';
Qui génère un lien avec le paramètre "character" passé dans l'url

Et celles-ci :
if(isset($_GET["char"]))
{
$char = $_GET["char"];
Qui vont chercher le paramètre "char" dans l'url.

Si je t'appelle Pierre, il est peut probable que tu réagisses. Si je t'appelle Chris, y a des chances que tu te retournes.. ben là c'est pareil, si t'utilises pas le bon nom, t'as pas le résultat attendu ;)

Re: Pagination alphabétique

par two3d » 25 mars 2021, 10:29

les $_GET sont récupérés de l'URL, exemple:
monurl.ext/page.ext?nom=Jhon&age=45
en PHP pour les récupérer:
$_GET['nom'] // == "Jhon"
$_GET['age'] // == "45"

Re: Pagination alphabétique

par ChrisCMoi62 » 25 mars 2021, 09:51

j'ai essayé :

Code : Tout sélectionner

<?php echo htmlspecialchars($_GET["auteur"]) ?> <?php echo htmlspecialchars($_GET["titre"]) ?>
ça ne fonctionne pas

Re: Pagination alphabétique

par two3d » 24 mars 2021, 18:39

Re: Pagination alphabétique

par ChrisCMoi62 » 24 mars 2021, 17:20

Je n'y comprends rien du tout, c'est compliqué

Re: Pagination alphabétique

par two3d » 24 mars 2021, 16:39

GET char (ce que tu analyse en haut de ton code) et GET character (ce que tu as dans l'URL) sont différents

Re: Pagination alphabétique

par ChrisCMoi62 » 24 mars 2021, 15:10

quand je clique sur une lettre, elle s'inscrit bien dans l'url mais n'affiche pas la pagination

Re: Pagination alphabétique

par or 1 » 24 mars 2021, 14:50

que fait cette ligne ?
$char = range('A', 'Z');

Re: Pagination alphabétique

par ChrisCMoi62 » 24 mars 2021, 14:22

Merci two3d
Mais comment faire pour que $character contienne l'alphabet ?

Re: Pagination alphabétique

par two3d » 24 mars 2021, 13:46

$character n'est définit null part, il faut que $character contienne l'alphabet dans un tableau pour le lister : ['A','B...]

Quand tu écris un message il y a la balise code pour mettre en valeur ton code et mieux le comprendre.

Pagination alphabétique

par ChrisCMoi62 » 24 mars 2021, 12:51

Bonjour
J'ai une base avec des livres, je souhaite réaliser une pagination alphabétique, ceci dit j'ai un blocage dans mon code :
Quelqu'un peut m'aider ?

Code : Tout sélectionner

<?php $connect = mysqli_connect('localhost', 'root', '', 'mabase'); $char = ''; if(isset($_GET["char"])) { $char = $_GET["char"]; $char = preg_replace('#[^a-z]#i', '', $char); $query = "SELECT * FROM matable WHERE auteur LIKE '$char%'"; } else { $query = "SELECT * FROM matable ORDER BY auteur"; } $result = mysqli_query($connect, $query); ?> <!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <br /><br /> <div class="container" style="width:1100px;"> <h2 align="center">Livres</h2> <br /><br /> <div class="table-responsive"> <div align="center"> <?php $char = range('A', 'Z'); echo '<ul class="pagination">'; foreach($character as $alphabet) { echo '<li><a href="index.php?character='.$alphabet.'">'.$alphabet.'</a></li>'; } echo '</ul>'; ?> </div> <table class="table table-bordered"> <tr> <th width="50%">Auteur</th> <th width="50%">Titre</th> </tr> <?php if(mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_array($result)) { ?> <tr> <td><?php echo $row["auteur"]; ?></td> <td><?php echo $row["titre"]; ?></td> </tr> <?php } } else { ?> <tr> <td colspan="3" align="center">Aucun résultat trouvé</td> </tr> <?php } ?> </table> </div> </div> </body> </html>