IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Numérotation automatique de ligne


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Numérotation automatique de ligne
    Bonjour,
    je récupère un texte depuis une base mysql. Sur la page vue par l'internaute, toutes les lignes doivent être systématiquement numérotées en début de ligne (comme l'affichage des numéros de ligne de code dans Dreamweaver par exemple). Je précise que le texte est en un seul bloc, il n'y a pas de saut de ligne.
    Si vous avez une solution, n'hésitez pas !
    Merci

  2. #2
    Membre éclairé
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Points : 764
    Points
    764
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $i=0;
     
    while( "ta boucle" )
    {
        echo ++$i;
    }
    Google is watching you !

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,

    Il y plusieurs réponses possibles, en voici une :

    tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "select TEXTE from TABLE when ID=".$var;
    $query = mysql_query($sql,$SQLConnection);
    $row = mysql_fetch_array($query);
    $montexte = $row["texte"];
    je t'invite à forcer les retours à la ligne (en tapant les balises "<br />" dans ton texte)

    puis tu transformes la chaine en tableau (les coupes se font au niveau des retours à la ligne, de façon à avoir une ligne pour chaque élément du tableau)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tabtexte = explode("<br>", $montexte);
    puis tu parcours le tableau pour l'affichage en numérotant chaque ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $i=1;
    foreach ($tabtexte as $key => $val) {
        echo $i." ".$val."<br>";
        $i++;
    }

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci d'avoir répondu
    le problème est que je ne peux pas (manuellement en tout cas) ajouter de balise <br> dans le texte récupéré depuis la base...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    moi j'ai une autre methode a te proposer
    c'est de compter le nombre de mots dans ton texte puis
    de definir un nombre de mot par ligne et de construire ton texte ligne par ligne et de mettre un numero de ligne
    c'est une methode qui doit etre realisable avec les REGEX

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Citation Envoyé par jeff_!
    moi j'ai une autre methode a te proposer
    c'est de compter le nombre de mots dans ton texte puis
    de definir un nombre de mot par ligne et de construire ton texte ligne par ligne et de mettre un numero de ligne
    c'est une methode qui doit etre realisable avec les REGEX
    et une ligne remplit de "anticonstitutionnellement" et une ligne remplit de "par" ça donne quoi ?
    pareil pour les <br> , inexploitable en dehors d'un affichage web, sans parler ressources sur le traitement.

    par contre l'idée de découper par nombre de mots se rapproche d'une solution viable, il faudrait découper la chaine par un nombre de caractères fixe et l'allier a la fonction explode().
    oui mais, va tu me dire, les mots vont être coupés, non en fait, grâce à la fonction wordwrap()
    comme un exemple vaut mieux qu'un long discours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
     
    // texte exemple
    $string = "Bonjour, ceci est un exemple de ce que peut faire php pour aider une personne voulant afficher un numéro devant chaque ligne apparaissant dans l'affichage de ce texte...";
     
    // traitement
    $texte = explode( "\n", wordwrap( $string, 20 ) );
     
    // affichage du resultat
    $i = 1;
    echo "<table border=\"0\">\n";
    foreach( $texte as $ligne ) {
       echo "\t<tr><td>$i.</td><td>$ligne</td></tr>\n";
       $i++;
    }
    echo "</table>\n";
     
    ?>

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci à tous pour vos réponses et en particulier à ska_root ! Je vais maintenant pouvoir appliquer vos précieuses idées.
    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Base de données] Numéroter automatiquement lignes sous formulaire
    Par El Bosc dans le forum OpenOffice & LibreOffice
    Réponses: 6
    Dernier message: 26/12/2013, 07h55
  2. [AC-2010] Numérotation automatique des lignes
    Par Nicolas_54 dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 01/10/2013, 21h10
  3. Numérotation automatique toutes les 5 lignes
    Par sfournis dans le forum Mise en forme
    Réponses: 3
    Dernier message: 10/12/2008, 15h08
  4. Formulaire numérotation automatique des lignes
    Par tomelo59 dans le forum IHM
    Réponses: 2
    Dernier message: 28/11/2006, 19h47
  5. [JTable] Numérotation automatique des lignes...
    Par lilou77 dans le forum Composants
    Réponses: 2
    Dernier message: 20/12/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo