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 :

Afficher les 30 premiers caractères d'un texte [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 73
    Par défaut Afficher les 30 premiers caractères d'un texte
    Salut à tous,
    Je suis nouvelle en php et j'essaie de me débrouiller tant bien que mal.
    J'ai fait un script pour afficher les derniers commentaires de mes photos sous la forme :

    "les 30 premiers caractères du commentaire" par "auteur" le "date"

    ça marche, mais j'ai un problème.

    Je n'arrive pas à afficher les 30 premiers caractères, il y a tout qui s'affiche et parfois les commentaires sont très longs donc c'est assez moche visuellement.
    De même j'ai un souci pour la date. J'aimerais que ça affiche le jj/mm/aa à hh/mm et au lieu de ça, ça me mets par exemple 2007/05/14 09:52:58

    Je vous mets le script que j'ai fait :
    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
     
    <?
    // Definition des identifiants de connexion
    $DBHOST=''; // Serveur Mysql
    $USEBDD='MABDD'; // Base de donnée utilisée
    $USER='MABDD'; // Administrateur de la bdd
    $PASSWORD=''; // Mot de passe d'accès à la bdd
     
    // Connexion à MySQL :
    $link = mysql_connect($DBHOST,$USER,$PASSWORD);
    $db = mysql_select_db($USEBDD,$link);
     
    // Extraction 
    $requete="SELECT * FROM commalbum WHERE approuve='ok' ORDER BY id desc LIMIT 12";
    $result=mysql_db_query("MABDD",$requete);
     
    // Affiche resultats
    while($voir=mysql_fetch_array($result))
    {
    echo ". <a href=\"photos/img.php?id_img=$voir[idphoto]\" target=\"_self\">".$voir[comment]."</a><br>par -".$voir[nom]."- le ".$voir[date]."<br><br> 
    ";
    }
    ?>
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour le format de la date tu peux le traiter dans la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT date_format(date, 'le %d/%m/%y à %Hh%s') as date, comment, nom FROM
    Par contre DATE est un mot reservé mysql, il faut prendre l'habitude de ne pas l'utiliser comme nom de champ.

    Pour raccourcir le texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $comment_court = substr($row['comment'], 0, 30-strlen($row['comment']));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Pour obtenir les 30 premiers caractères, j'aurai plutôt dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = substr($texte, 0, 30);

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    J'ai l'art de me compliquer la vie
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Je pense que tu voulais dire en fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $comment_court = substr($row['comment'], 0, min(30,strlen($row['comment'])));

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 73
    Par défaut
    Merci bcp, ça marche pour la date.

    Mais pour la longueur du texte, je ne sais pas où exactement il faut mettre le code :

    $comment_court = substr($row['comment'], 0, min(30,strlen($row['comment'])));

    Il ne se passe rien, j'ai l'impression d'avoir oublié un truc.

    Merci de votre aide.

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

Discussions similaires

  1. Afficher les n premiers caractères d'un terme
    Par Flynt dans le forum jQuery
    Réponses: 2
    Dernier message: 11/02/2010, 16h46
  2. Afficher les 200 premiers caractère
    Par jerem721 dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2008, 16h54
  3. Afficher les 20 premiers caractères
    Par marty499 dans le forum Langage
    Réponses: 1
    Dernier message: 07/05/2008, 16h07
  4. Réponses: 2
    Dernier message: 04/10/2007, 11h31
  5. afficher les n premiers caractères d'un champs
    Par kabool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2006, 18h22

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