Partage
  • Partager sur Facebook
  • Partager sur Twitter

Couper un texte après un certain nombre de caractères.

Sujet résolu
    2 décembre 2006 à 22:32:11

    Bonjour à tous !

    J'ai un petit soucie avec l'un de mes tableaux. J'ai fait un tableau qui liste mes news en allant chercher le titre et le contenu de mes news dans une BDD. Or, le contenu des news étant relativement gros, je me retrouve avec un tableau énorme où apparait la totalité du contenu de mes news. Existe-t-il une fonction pour couper le texte et mettre des points de suspension ou faut-il que je me fasse un petit script, auquel cas comment dois-je le faire ?

    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2006 à 22:38:17

      SELECT LEFT(tonChamp, 50) FROM taTable
      • Partager sur Facebook
      • Partager sur Twitter
        2 décembre 2006 à 22:49:07

        Merci bien :) mais ça crée une erreur...
        Le code :
        mysql_query('SELECT LEFT(*, 50) FROM admin_newsletters ORDER BY id DESC')


        Et l'erreur :

        Citation : erreur

        Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /media/160go/hebergement/mangakage.goldzoneweb.info/Admin/Newsletter/lister_newsletters.php on line 81

        • Partager sur Facebook
        • Partager sur Twitter
          2 décembre 2006 à 22:53:34


          Sinon la moi je dis met des
          or die(mysql_error());
          Et a mon avis sa viens pas de la requette met de ton while ou d'un problème de connexion a mysql
          Et si on ne veut pas le faire pdans la requette on fait comment?
          • Partager sur Facebook
          • Partager sur Twitter
          :)
            2 décembre 2006 à 22:55:48

            Citation : moii

            Sinon la moi je dis met des
            or die(mysql_error());
            Et a mon avis sa viens pas de la requette met de ton while ou d'un problème de connexion a mysql


            Non car tout marchait très bien avant ;)

            Je viens de trouver ce code :
            $chaine='Un test pour raccourcir cette chaine à un maximum de 50 caractères';

            $max = 50;
            if(strlen($chaine) >= $max)
            {
                    $chaine = substr($chaine,0,$max);
                    $espace = strrpos($chaine," ");
                    $chaine = substr($chaine,0,$espace)."...";
            }
            echo $chaine;


            Comment en faire une fonction ? Il faudrait pouvoir y intégrer le nombre de caratères maximum --> nbremaxchars($chaine, 50)
            • Partager sur Facebook
            • Partager sur Twitter
              2 décembre 2006 à 22:59:22

              tu dois mettre un nom de colonne et pas l'étoile, prends l'habitude de nommer tes champs, en cas de perte de db ça peut-être trés pratique de connaitre les champs de sa table :p
              Et en plus c'est plus rapide donc bon :)
              • Partager sur Facebook
              • Partager sur Twitter
                2 décembre 2006 à 23:01:31

                Citation : Shepard

                prends l'habitude de nommer tes champs, en cas de perte de db ça peut-être trés pratique de connaitre les champs de sa table :p
                Et en plus c'est plus rapide donc bon :)


                Que veux-tu dire, tu m'intéresse ?
                • Partager sur Facebook
                • Partager sur Twitter
                  2 décembre 2006 à 23:04:24

                  Citation : grobs

                  Citation : Shepard

                  prends l'habitude de nommer tes champs, en cas de perte de db ça peut-être trés pratique de connaitre les champs de sa table :p
                  Et en plus c'est plus rapide donc bon :)


                  Que veux-tu dire, tu m'intéresse ?



                  Salut,

                  Au lieu de mettre une étoile (*), nomme les champs que tu veux sélectionner.

                  Exemple :

                  SELECT champs1, champs2 FROM latable


                  ++
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 décembre 2006 à 23:05:22

                    Thanks Valar :)

                    Donc en fonction ça donnerai ça ? :
                    function nbrmaxchars($chaine, $nbrmax)
                    {
                            if(strlen($chaine) >= $nbrmax)
                            {
                                    $chaine = substr($chaine,0,$nbrmax);
                                    $espace = strrpos($chaine," ");
                                    $chaine = substr($chaine,0,$espace)."...";
                            }
                            return $chaine;
                    }


                    Parfait, merci à tous !
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Couper un texte après un certain nombre de caractères.

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown