Forum Programmation.php Comment savoir le nombre de ligne d'un texte dynamique

Posté par  .
Étiquettes : aucune
0
17
mai
2005
Hello,

Voilà, j'aimerais savoir comment je peux faire pour :

quand j'ai, par exemple, minimum 100 lignes de texte dynamique, il me crée une nouvelle page pour afficher le reste de mon texte.

Donc pour être plus claire, j'ai un texte de 150 lignes et j'aimerais qu'après la 100ème ligne, il me crée une 2ème page avec les 50 dernières lignes et un lien sur la première pour aller à la 2ème.

Merci
  • # idée

    Posté par  (site web personnel) . Évalué à 2.

    je ne vais pas te le coder car je ne suis pas très doué pour le php mais... tu pourrais utiliser une variable disont : "page" associée à un numéro.

    Dans ton algo, tu calcul le début de ce qui doit être affiché de cette manière :
    - numéro de ligne de départ : (page - 1) * 100
    - numéro de ligne de fin : (page * 100) - 1

    dans le cas où la première page a le numéro 1, tu auras
    - (page - 1) * 100 = 0 * 100 = 0
    - (page * 100) - 1 = 99
    la première ligne a afficher est donc la ligne 0 et la dernière est la 99 (la 100 est la première de la deuxième page)

    pour les autres pages, disont que tu sois à la page 2 :
    - (page - 1) * 100 = (2 - 1) * 100 = 100
    - (page * 100) - 1 = 199

    à la fin de chaque page, tu n'as juste qu'a rajouter un lien vers la page qui a le numéro suivant.

    Note : vérifies juste que la fin d'une page (page * 100) - 1 n'est pas plus grand que le nombre de ligne totale.
  • # réponses ...

    Posté par  (site web personnel) . Évalué à 1.

    Il n'y a que toi qui puisse faire le script: on ne sait pas comment est organisée ta page, ses paramètres exterieurs, d'ou vient le texte ...

    Pour trouver le nombre de lignes:

    $texte=str_replace("\r\n", "\n", $texte);
    $texte=str_replace("\r", "\n", $texte);
    $exploded=explode("\n", $texte);
    $nb_lignes=count($exploded);


    si $page est le numéro de ta page:
    foreach($exploded as $i=>$line){
    if($i>=$page*100) break;
    print "$line\n";
    }

    Après, peut être veux tu couper en fonction des ou autre, a toi d'adapter

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.