Système de Pagination
Bonjour, je voudrais savoir comment faire un système de pagination (precedent | 1 - 2 - 3 - 4 | suivant)
Enfête je voudrais limiter la taille de la page par rapport aux nombres de caractères.
C'est à dire, que lorsque l'on dépasse les 1500 caractères, une deuxieme (ou troisième ou quatrième et ainsi de suite) se créée.
Mais je ne sais vraiment pas comment y procéder.
J'ai vu qu'il éxistait des solutions en ajax, mais qui limitent les entrées SQL et moi je cherche à limiter les caractère et non-pas les entrées SQL.
Merci d'avance ;)
Enfête je voudrais limiter la taille de la page par rapport aux nombres de caractères.
C'est à dire, que lorsque l'on dépasse les 1500 caractères, une deuxieme (ou troisième ou quatrième et ainsi de suite) se créée.
Mais je ne sais vraiment pas comment y procéder.
J'ai vu qu'il éxistait des solutions en ajax, mais qui limitent les entrées SQL et moi je cherche à limiter les caractère et non-pas les entrées SQL.
Merci d'avance ;)
Voici ma page d'affiche du contenu
- <?
- if(isset($_GET['id']))
- {
- if(is_numeric($_GET['id']))
- {
- $id = $_GET['id'];
- $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "content WHERE id = '$id'");
- $rows = $db -> db_rows();
- $sql = $db -> db_result();
- $sql = $sql['0'];
- if($rows > 0)
- {
- $contitle = stripslashes($sql['title']);
- $context = stripslashes($sql['content']);
- $content = "$contitle<div class=\"examples\" id=\"example1\">
- $context</div>";
- if(!empty($sql['keywords'])){ $keywords = $sql['keywords'];}
- if(!empty($sql['description'])){ $description = $sql['description'];}
- $pagetitle = $pagetitle . ' | ' . stripslashes($sql['title']);
- $rss = 'rss.php';
- }
- else
- {
- $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014;
- }
- }
- else
- {
- $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014;
- }
- }
- else
- {
- $sql = $db -> db_query("SELECT id FROM " . DB_PREFIX . "content
- WHERE front = 'yes' LIMIT 1");
- $rows = $db -> db_rows();
- $sql = $db -> db_result();
- if($rows > 0)
- {
- header('Location: index.php?id=' . $sql['0']['id']);
- }
- else
- {
- $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014;
- }
- }
- ?>
Hello.
Cette fonction avec son exemple devrait t'aider si j'ai bien compris ton problème (faut que tu mettes le texte dans la variable $text) :
@+...
Cette fonction avec son exemple devrait t'aider si j'ai bien compris ton problème (faut que tu mettes le texte dans la variable $text) :
- <?php
- function cut_string($string, $charlimit){
- if(strlen($string) > $charlimit){
- $string = substr($string,'0',$charlimit);
- $array = explode(' ',$string);
- array_pop($array);
- $new_string = implode(' ',$array);
- return $new_string.'...';
- } else {
- return $string;
- }
- }
- $text = "Couper un texte trop long avec une fonction PHP";
- echo "<ul>";
- echo "<li><a href='#' title='".$text."'>"
- .cut_string($text, 20)."</a></li>";
- echo "</ul>";
- ?>
@+...
Lu,
tiens j'avais fait une fonction pour mettre en tableau les portions de texte de x caractères.
Bon courage ^^
tiens j'avais fait une fonction pour mettre en tableau les portions de texte de x caractères.
- <?php
- function cutStringByCharacters($string, $nb_Caracs, $tableau_text = '') {
- if(strlen($string) > $nb_Caracs) {
- // On calcule la position du curseur au première espace apres "n"
- // caractères.
- $position_curseur = strpos($string, ' ', intVal( $nb_Caracs ) );
- // S'il a trouvé un espace à partir du nième caractère on tronçonne.
- // Sinon on insert le dernier tronçon et on retourne le tableau.
- if($position_curseur == TRUE ) {
- // On Selectionne le tronçon et on l'insert dans le tableau.
- $chaine = substr($string, 0, $position_curseur );
- $tableau_text[] = $chaine.' ...';
- // On enlève le tronçon inséré et on répète l'opération avec
- // la chaine restante.
- $string = substr_replace($string, '' , 0, $position_curseur );
- // Fonction recursive.
- $tableau_text = cutStringByCharacters($string, $nb_Caracs, $tableau_text);
- }
- else {
- // Le dernier tronçon fais plus des "n" caracs mais aucune espace
- // n'as été trouvé.
- $tableau_text[] = $string;
- }
- }
- else {
- // Le dernier tronçon fais moins des "n" caracs
- $tableau_text[] = $string;
- }
- return $tableau_text;
- }
- // APRES
- $TableauTexte = cutStringByCharacters($Texte, 1500);
- //
- // SUIVANT LA PAGE, on enlève 1 car la première clé du tableau est 0.
- $page = $page - 1;
- echo $TableauTexte[$page];
- ?>
Bon courage ^^
Accès rapide :
Remonter 

