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 :

Réduire les caractères d'un article de ma bdd avec substring [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Création sites web
    Inscrit en
    Novembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Création sites web

    Informations forums :
    Inscription : Novembre 2016
    Messages : 26
    Par défaut Réduire les caractères d'un article de ma bdd avec substring
    Bonjour,

    Je souhaite afficher quelques lignes d'un article sur ma page d'accueil et lorsqu'on clic dessus, l'article en question s'affiche en entier dans une autre page.

    Tout est bon SAUF la réduction de l'article réduit sur ma page d'accueil. Je m'embrouille avec mes fonctions et avec le code HTML, pouvez vous m'aider s'il vous plaît.

    J'ai une fonction pour récupérer mes actualités :
    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
    21
    22
    23
    24
    25
    //FONCTION QUI RECUPERE L'ACTUALITE 1 sur la page d'accueil
    function getActualite1()
    {    
        require 'bdd.php';
        $req = $bdd->prepare('SELECT * FROM articles WHERE categories_id = 16');
        $req->execute();
        $data = $req->fetchAll(PDO::FETCH_OBJ);
        return $data;
      $req->closeCursor();
     } 
     
    Coté HTML ca donne :
     
    <article class="actualite actualite_photo_gauche">
     
                        <?php foreach($actualites1 as $actualite1): ?>
     
                    <a href="accueil_actualite.php">
                            <h2 class="article_titre"><?= $actualite1->titre ?></h2>
                            <img class="photo_gauche" src="images/peche.jpg" alt=""/>
                            <p class="actualite1 article_contenu">
                                <?= $actualite1->contenu ?></p>
     
                        <?php endforeach; ?>
                </article>
    Après j'ai également une fonction pour réduire l'article récupéré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //FONCTION POUR COUPER LE TEXTE DES ACTUALITES
    function raccourcirChaine($chaine, $tailleMax)
      {
     
        if( strlen($chaine) >= $tailleMax )
        {
          $chaine = substr($chaine,0,$tailleMax);
          $positionDernierEspace = strrpos($chaine,' ');
          $chaine = substr($chaine,0,$positionDernierEspace).'...';
        }
        return $chaine;
      }
    Je n'arrive pas, je ne sais pas comment placer ses bouts de codes, j'ai essayé plusieurs choses, du style :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <article class="actualite actualite_photo_gauche">
     
                        <?php foreach($actualites1 as $actualite1): ?>
                            $chaine1 = $actualite1;
                    <a href="accueil_actualite.php">
                            <h2 class="article_titre"><?= $actualite1->titre ?></h2>
                            <img class="photo_gauche" src="images/peche.jpg" alt=""/>
                            <p class="actualite1 article_contenu">
                                <?= $actualite1->contenu 
                                echo substr($actualite1, 0, 100); ?></p>
     
     
                        <?php endforeach; ?>
                </article>
     
    J'ai également essayé de modifier ma fonction qui appel mes actualites :
    //FONCTION QUI RECUPERE L'ACTUALITE 1 sur la page d'accueil
    function getActualite1()
    {    
        require 'bdd.php';
        $req = $bdd->prepare('SELECT * FROM articles WHERE categories_id = 16');
        $req->execute();
        $data = $req->fetchAll(PDO::FETCH_OBJ);
     
        $tailleMax = 100;
        if( strlen($data) >= $tailleMax )
        {
          $data = substr($data,0,$tailleMax);
          $positionDernierEspace = strrpos($data,' ');
          $data = substr($data,0,$positionDernierEspace).'...';
        }
        return $data;
     } 
        /*
        echo substr($data, 0, 150).'...';
        return $data;
        $req->closeCursor();*/
    Merci

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <article class="actualite actualite_photo_gauche">
    <?php foreach($actualites1 as $actualite1):?>
       <h2 class="article_titre"> <?php echo $actualite1->titre; ?></h2>
       <img class="photo_gauche" src="images/peche.jpg" alt="photo de peche" />
       <p class="actualite1 article_contenu">
           <?php echo raccourcirChaine($actualite1->contenu, 100); ?>
       </p>
    <?php endforeach; ?>
    </article>
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre averti
    Femme Profil pro
    Création sites web
    Inscrit en
    Novembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Création sites web

    Informations forums :
    Inscription : Novembre 2016
    Messages : 26
    Par défaut
    Merci Dendrite, ca marche très bien.

    J'ai vraiment chercher la difficulté ou elle n'était pas !!!! J'ai souvent du mal à appliquer ce genre de cas et à savoir ou les placer dans le html.

    Aurais tu des vidéos à me suggerer pour mieux comprendre ?

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Des vidéos, non, je ne connais pas.
    Je ne suis pas spécialement friande des tutos vidéos. Les goûts et les couleurs. J'ai un bon rapport à l'écrit, qui à mon avis, génère moins de bruit, de friture inutile. Mais je comprends qu'on ait besoin d'un prof plus naturel que l'écrit pur.

    J'ai par contre une méthode à te recommander.
    Compartimenter.
    Si tu démarres, je pense que tout découvrir en même temps et tout mélanger n'est vraiment pas aisé.
    Il faut que tu fractionnes, car ce sont des technos très différentes :
    Je mets les durées minimum à titre indicatif pour les grands débutants. Qui font des TP et mettent les mains dans le cambouis et ne se contentent pas de copier coller.

    le HTML et la CSS ie affichage dans navigateur client (1 semaine d'études et de pratique minimum)
    le SQL ie données persistantes sur serveur (2 semaines d'études et de pratique de PHPmyadmin minimum)
    le PHP côté serveur qui sert à générer dynamiquement les 2 technos précédentes (1 mois de travail minimum si l'on découvre la programmation, les variables, les fonctions, les boucles, les conditions etc.)

    A ta place, je chercherais des tutos (donc vidéos puisque c'est ton goût) séparés.

    En tapant un truc dans Youtube, du genre "Débuter HTML 5" et "Débuter CSS3", "Débuter SQL", "Débuter PHP procédural'...
    Dans quel ordre ? Précisément celui que j'ai mis. Pour poser la première couche... après tu prendras l'habitude de composer les 3 technos... mais moi, je préfère toujours compartimenter.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre averti
    Femme Profil pro
    Création sites web
    Inscrit en
    Novembre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Création sites web

    Informations forums :
    Inscription : Novembre 2016
    Messages : 26
    Par défaut
    Merci pour tes conseils, je prend des cours à distance et je n'ai que quelques bases justement très compartimentés. Mon soucis est d'arriver à comprendre comment tout cela s'imbrique les uns avec les autres, je n'ai fais que de la théorie avec des exercices par matière. Le html et css, ca va. J'ai du mal à appliquer le php seul et encore plus de mal quand il y a un coté dynamique et qu'il faut intégrer le php dans le html...j'imagine qu'à force de rencontrer ce genre de problème je vais y arriver.

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bon, ce n'est pas un tuto vidéo. Mais essaie mon tuto PHP. Il est assez efficace pour les débutants, sauf pour la partie base de données, qui est obsolète...

    Si tu veux faire tout le tuto, commence par là.
    https://sylvie-vauthier.developpez.c...?page=intro#LI

    Sinon, la partie qui répond davantage à ta problématique

    https://sylvie-vauthier.developpez.c...e=fondamentaux

    edit : Et c'est tes cours à distance qui te proposent le code que tu nous as montré ? Je te demande ça, parce qu'il a une syntaxe asp.net, ça s'appelle aussi des short tags, et ça n'est donc pas du tout souhaitable pour débuter.
    Je fais allusion à ça :
    tandis que l'écriture souhaitable pour savoir ce qu'on fait surtout si on débute est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $variable; ?>
    Tu comprends évidemment avec cette dernière syntaxe que tu ouvres des balises PHP, que tu affiches une variable PHP (mieux vaut qu'elle soit conforme à ton HTML puisqu'elle va s'y intégrer) et enfin, que tu fermes la balise PHP.
    L'écriture asp, c'est bon pour les développeurs déjà à l'aise.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/03/2013, 16h17
  2. [PDO] Echapper les caractères potentiellement dangereux pour une requête SQL avec LIKE
    Par JimDraw dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 17/12/2012, 10h46
  3. Réponses: 7
    Dernier message: 12/05/2003, 22h50
  4. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23
  5. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30

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