Système de Pagination

Répondre
zOy
zOy
Déconnecté
www.zoytorrent.com, www.xtrem-scripts.fr, www.goomba.fr
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 ;)
zOy
zOy
Déconnecté
www.zoytorrent.com, www.xtrem-scripts.fr, www.goomba.fr
Voici ma page d'affiche du contenu

  1.  
  2. <?  
  3. if(isset($_GET['id']))  
  4. { 
  5.    if(is_numeric($_GET['id'])) 
  6.    { 
  7.       $id = $_GET['id']; 
  8.       $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "content WHERE id = '$id'"); 
  9.       $rows = $db -> db_rows(); 
  10.       $sql = $db -> db_result(); 
  11.       $sql = $sql['0']; 
  12.       
  13.       if($rows > 0) 
  14.       { 
  15.          $contitle = stripslashes($sql['title']); 
  16.          $context = stripslashes($sql['content']); 
  17.          
  18.          $content = "$contitle<div class=\"examples\" id=\"example1\">
  19.             $context</div>"; 
  20.          
  21.          if(!empty($sql['keywords'])){ $keywords = $sql['keywords'];} 
  22.          if(!empty($sql['description'])){ $description = $sql['description'];} 
  23.          
  24.          $pagetitle = $pagetitle . ' | ' . stripslashes($sql['title']); 
  25.          
  26.          $rss = 'rss.php'; 
  27.       } 
  28.       else 
  29.       { 
  30.          $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014; 
  31.       } 
  32.    } 
  33.    else 
  34.    { 
  35.       $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014; 
  36.    }  
  37. }  
  38. else  
  39. { 
  40.    $sql = $db -> db_query("SELECT id FROM " . DB_PREFIX . "content
  41.    WHERE front = 'yes' LIMIT 1"); 
  42.    $rows = $db -> db_rows(); 
  43.    $sql = $db -> db_result(); 
  44.    
  45.    if($rows > 0) 
  46.    { 
  47.       header('Location: index.php?id=' . $sql['0']['id']); 
  48.    } 
  49.    else 
  50.    { 
  51.       $content = '<h2>' . CONTENT_013 . '</h2>' . CONTENT_014; 
  52.    }  
  53. }  
  54. ?>
  55.  
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
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) :
  1. <?php
  2. function cut_string($string, $charlimit){  
  3. if(strlen($string) > $charlimit){  
  4. $string = substr($string,'0',$charlimit);  
  5. $array = explode(' ',$string);  
  6. array_pop($array);  
  7. $new_string = implode(' ',$array);  
  8. return $new_string.'...';  
  9. } else {  
  10. return $string;  
  11. }  
  12. }  
  13. $text = "Couper un texte trop long avec une fonction PHP";  
  14. echo "<ul>";  
  15. echo "<li><a href='#' title='".$text."'>"  
  16. .cut_string($text, 20)."</a></li>";  
  17. echo "</ul>";  
  18. ?> 


@+...
zebden
zebden
Déconnecté
zebdinou pour les intimes / Blog : http://www.zebden.fr
Lu,

tiens j'avais fait une fonction pour mettre en tableau les portions de texte de x caractères.

  1. <?php
  2. function cutStringByCharacters($string, $nb_Caracs, $tableau_text = '') { 
  3.    
  4. if(strlen($string) > $nb_Caracs) { 
  5.       
  6. // On calcule la position du curseur au première espace apres "n"  
  7. // caractères.  
  8. $position_curseur = strpos($string, ' ', intVal( $nb_Caracs ) ); 
  9.    
  10. // S'il a trouvé un espace à partir du nième caractère on tronçonne.  
  11. // Sinon on insert le dernier tronçon et on retourne le tableau.  
  12. if($position_curseur == TRUE ) { 
  13.          
  14.    // On Selectionne le tronçon et on l'insert dans le tableau. 
  15.    $chaine = substr($string, 0, $position_curseur ); 
  16.    $tableau_text[] = $chaine.' ...'; 
  17.    // On enlève le tronçon inséré et on répète l'opération avec 
  18.    // la chaine restante. 
  19.    $string   = substr_replace($string, '' , 0, $position_curseur ); 
  20.    // Fonction recursive. 
  21.    $tableau_text = cutStringByCharacters($string, $nb_Caracs, $tableau_text); 
  22.    }  
  23. else { 
  24.    // Le dernier tronçon fais plus des "n" caracs mais aucune espace 
  25.    // n'as été trouvé. 
  26.    $tableau_text[] = $string; 
  27.    }  
  28. }  
  29. else { 
  30.    // Le dernier tronçon fais moins des "n" caracs 
  31.    $tableau_text[] = $string;  
  32. }  
  33.  
  34. return $tableau_text;  
  35. }  
  36.  
  37. // APRES  
  38. $TableauTexte = cutStringByCharacters($Texte, 1500);  
  39.  
  40. //
  41. // SUIVANT LA PAGE, on enlève 1 car la première clé du tableau est 0.  
  42.  
  43. $page = $page - 1;  
  44.  
  45. echo $TableauTexte[$page];  
  46. ?>
  47.  


Bon courage ^^
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog