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 :

Traitement de chaine


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut Traitement de chaine
    Bonsoir,

    Voilà mon soucis :

    J'ai une liste de titres de livres que je récupère dans ma base Mysql

    1 - Je voudrai connaitre la longueur du titre le plus long métons 25 caractères
    2 - Puis traiter chaque titre pour que sa longueur fasse 25 caractères
    c'est a dire que si le titre fait 10 caractères lui ajouter 10 espaces
    3 - puis Ajouter après les 20 caractères de chaque titres cette chaine ' --- '

    Le but final, c'est quand j'affiche la liste des titres modifiés, c'est d'ajouter
    le genre du livre pour que tout soit bien aligné comme des colonnes.

    Merci de bien vouloir m'aider
    Bonne soirée à tous

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par malabarbe Voir le message
    1 - Je voudrai connaitre la longueur du titre le plus long métons 25 caractères
    Place le résultat de ta requête dans un tableau PHP.
    Parcours le tableau afin de déterminer le titre le plus long.

    2 - Puis traiter chaque titre pour que sa longueur fasse 25 caractères
    c'est a dire que si le titre fait 10 caractères lui ajouter 10 espaces
    str_pad( ) http://fr.php.net/str-pad

    3 - puis Ajouter après les 20 caractères de chaque titres cette chaine ' --- '
    Une simple concaténation.

    Le but final, c'est quand j'affiche la liste des titres modifiés, c'est d'ajouter
    le genre du livre pour que tout soit bien aligné comme des colonnes.
    Il faudra donc afficher cela avec un police à pas fixe, telle Courier New.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonsoir Séb.,

    Merci de m'avoir répondu si vite, mais
    quelle est l'instruction pour connaitre
    la longueur d'une chaine ?

    A te lire

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Ok Séb,

    C'est ok pour strlen()

    Je passe a l'étape suivante

    Déjà un grand merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Séb,

    J'affiche bien le N° du livre qui a toujours 5 chiffres
    puis 3 espaces puis le titre + 3 --- puis la longueur de la chaine
    puis le genre

    Voici mon instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $rec='  '.$row['Num'].'   '.$row['Titre'].'---'.strlen($row['Titre']).$row['Genre'];
    Comment remplacer le strlen pour afficher a la place
    20 espaces moins la longueur de la chaine ?

    A te lire

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Comment remplacer le strlen pour afficher a la place
    20 espaces moins la longueur de la chaine ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_pad($row['Titre'], 20, ' ') ;
    str_pad( ) va compléter $row['Titre'] avec des espaces jusqu'à ce que l'ensemble fasse 20 caractères de long.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Rebonsoir ou plutôt bonjour Séb,

    Cela tourne Impec

    Un super merci

    Et ok pour la police Courier New, c'est la bonne

    Après ton aide très efficace,
    je te souhaite une bonne nuit.

    @ +

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut PHP, Traitement de chaine
    Bonjour,

    Quand j'utilise l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_pad($row['Titre'], 52,' '.$row['Genre'];
    Cela m'affiche bien 52 espaces moins la longueur
    du Titre entre Titre et Genre.

    Néanmoins, un petit soucis, c'est quand le
    titre se termine par un chiffre, il me manque un espace !

    Si l'un d'entre vous a une combine, je suis preneur.

    D'avance, merci pour votre aide

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_pad($row['Titre'], 52,' '.$row['Genre'];
    Instruction incorrecte.

    Cela m'affiche bien 52 espaces moins la longueur
    du Titre entre Titre et Genre.

    Néanmoins, un petit soucis, c'est quand le
    titre se termine par un chiffre, il me manque un espace !
    Bug non reproduit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
        header('Content-Type: text/plain') ;
        echo '[', str_pad('FOOBAR2', 10, '.'), ']' ;
    ?>
    Donne un exemple de script court et fonctionnel illustrant le souci.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Points : 153
    Points
    153
    Par défaut
    Bonsoir Séb,

    Ok, j'ai compris et rectifié

    Merci pour le coup de main

    @ +

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

Discussions similaires

  1. Cherche fonction de traitement de chaine de caractere
    Par DeezerD dans le forum Langage
    Réponses: 1
    Dernier message: 10/09/2005, 14h41
  2. Traitement de chaine
    Par topolino dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/04/2005, 19h24
  3. [VB.NET] Traitement sur chaine (simple)
    Par Tempotpo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 13h20
  4. [C#] Traitement de chaine
    Par david71 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 03/03/2005, 16h29
  5. [CR]Traitement de chaines dans les formulas
    Par teckilax dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 05/07/2004, 09h01

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