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

PHP & Base de données Discussion :

Gestion de variable de type texte comme un fichier [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut Gestion de variable de type texte comme un fichier
    Bonjour,

    J'ai dans une base de donnée un champ de type text avec comme contenu un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Une phrase
    Puis une autre a la ligne
    Encore une
    Etc...
    Cette chaine est encodée (il y a des "\" devant des caractères spéciaux, ... J'ai une fonction decoder qui enlève ces "\" et qui ajout des "<br />" en fin de ligne.

    Mon problème est le suivant : j'aimerais afficher ces ligne sous forme de tableau html du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <tr>
     <td>Une phrase</td>
    </tr>
    <tr>
     <td>Puis une autre a la ligne</td>
    </tr>
    <tr>
     <td>Encore une</td>
    </tr>
    <tr>
     <td>Etc...</td>
    </tr>
    Donc, dans un premier temps je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine = str_replace("<br />", "", decoder($tab['chaine']));
    afin que les "<br />" disparaissent. (précision, $tab['chaine'] correspond à un mysql_fetch_array de ma BDD que j'ai appelé ici $tab.)

    Maintenant, j'ai une variable $chaine avec le même code que ma base de donnée.

    Question : Comment "dire" à PHP qu'il mette chaque nouvelle ligne entre "<tr><td>" et "</td></tr>" ? Y-aurait-il une fonction de type feof comme pour les fichiers texte ?

    Merci d'avance pour votre aide...

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    tu peux utiliser la fonction http://php.net/explode et ensuite une boucle pour faire ça :
    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
    20
    <?php
    $texte = 
    'Une phrase
    Puis une autre a la ligne
    Encore une';
    ?>
     
    <table>
     
        <?php foreach (explode("\n", $texte) as $ligne) {?>
     
            <tr>
                <td>
                    <?php echo htmlspecialchars($ligne, ENT_COMPAT, 'UTF-8');?>
                </td>
            </tr>
     
        <?php }?>
     
    </table>

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Par défaut
    AAAAAAAAAAAAAAAH super génial merci du coup de main !

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

Discussions similaires

  1. composant tMap : filtre ne fonctionne pas sur variable de type texte
    Par jeanphi45 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 15/03/2010, 16h01
  2. Réponses: 1
    Dernier message: 24/10/2009, 22h16
  3. Split sur une variable de type TEXT (vs nvarchar)
    Par AliJava dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/06/2008, 09h05
  4. Déclarer des variables de type texte
    Par Meidje dans le forum Débuter
    Réponses: 12
    Dernier message: 05/06/2008, 17h26
  5. Réponses: 13
    Dernier message: 08/03/2007, 14h53

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