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 :

substr() pour couper la phrase


Sujet :

Langage PHP

  1. #21
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    je vous redonne le lien du forum car je pensais que vous allez voir

    http://leprojet.legtux.org/forum.html

    il y a bien la phrase coupé donc c'est bon

    mais ca m'a fait planté le cadre du tableau

    voir lien

  2. #22
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 100
    Points : 4 445
    Points
    4 445
    Par défaut
    tu travailles directement en ligne ?

    Y suis aller déjà , et comme au début c'est une page blanche : RIEN pas un seul charactère, ni cadre, ni tableau.

    tu nous donnes une page .HTML !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    $moi= ( !== ) ? : ;

  3. #23
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    en ligne

    voilà la capture
    Images attachées Images attachées  

  4. #24
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Points : 8 084
    Points
    8 084
    Par défaut
    Regarde le code généré, il doit manquer une fermeture de balise quelque part.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  5. #25
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 100
    Points : 4 445
    Points
    4 445
    Par défaut
    ca ressemble a un tableau donc il manquerait un /TR

    un ptit probleme html, ce ne plante pas c'est juste ...

    "un problème de cellules décalées" (c'est plus parlant que "ca plante")
    $moi= ( !== ) ? : ;

  6. #26
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    voilà le code

    Code php : 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
                // si un jour je remets un coin arrondit bas cest là je mettrais entre guillemet
                    $display .= '';
     
                $display .= "\n\t".($cat==NULL?'':'    ').'
    			             ';
                $display .= ''.htmlspecialchars($data['cat_nom']).''."\n\t".'
    						 '.$totalTopicCat->rowCount().' Sujets<br />'.$totalPostCat->rowCount().' Réponses
    						 &nbsp;
    						 '.htmlspecialchars($data['cat_nom']).'';
     
     
                        $cat = $data["forum_cat_id"];
            }
            $data['forum_id'];
     
                $topic = $pdo->query("SELECT topic_id,topic_titre FROM forum_topic WHERE forum_id=".$data['forum_id']);
            $topicLine = $topic->fetch();
     
            if($topicLine['topic_id'])
            {
                $sql2 = "SELECT * FROM forum_post WHERE topic_id=".$topicLine['topic_id']." ORDER BY post_time DESC LIMIT 1";
                $sqll = $pdo->prepare($sql2);
                $sqll->execute();
     
                $q2 = $sqll->fetch();
            }
            $display .= "\n\t".'    ';
     
            if($topicLine['topic_id'])
            {
                $fvquery = 'SELECT * FROM forum_forum_view JOIN forum_post ON fv_post_id=post_id WHERE fv_membre_id=? AND fv_topic_id=? AND fv_post_id=?';
                $fv = $pdo->prepare($fvquery);
     
                if(isset($_SESSION['id']))
                    $fv->execute(array($_SESSION['id'],$topicLine['topic_id'],$q2['post_id']));
                else
                    $fv->execute(array(-1,$topicLine['topic_id'],$q2['post_id']));
     
                if(!$fv->rowCount())
                    $syslu = '<img src="'.DIR_DESIGN.'/'.getDesignName().'/images/forum/non_lu.gif" title="Nouvelles réponses" alt="Nouvelles réponses" height="20"/>';
                    else
                    $syslu = '<img src="'.DIR_DESIGN.'/'.getDesignName().'/images/forum/lu.gif" title="Pas de nouvelles réponses"  alt="Pas de nouvelles réponses" height="20"/>';
            }
            $display .= ''.$syslu.'';
            $display .= ''."\t\t\t" . '<a href="' . getLienModule($_GET["m"],"voirtopic") .'?fid=' . intval($data["forum_id"]) . '&amp;num=1">' . $data['forum_name'] . '</a>
    		                          <br />
    								  '.$data['forum_desc'].'';
            $display .= "\n\t\t".'' . $topic->rowCount() . ' Sujets<br />' . $post->rowCount() . ' réponses';
     
     
             $query2 = 'SELECT topic_id,forum_membre_id FROM forum_post WHERE post_forum_id=? ORDER BY topic_id DESC';
     
                $r = $pdo->prepare($query2);
                $r->execute(array($data["forum_id"]));
     
                $data2 = $r->fetch();
     
                //$topici = $pdo->query("SELECT topic_id,topic_titre FROM forum_topic WHERE forum_id=".$data['forum_id']);
            //$topicLine2 = $topici->fetch();
     
     
            if(!$r->rowCount())
                $display .= "\n\t\t".'&nbsp;N/A'."\n\t".' '."\n\t".'' . "\n\t";
            else
    $display .= "\n\t\t" .
                    ''.GetSuperMiniAvatarById( $data2 ["forum_membre_id"] ) .'				
     
    				';
    				$max1=100;
    				$lien = getLienModule('forum', 'voirmessage') . '?fid=' . $data['forum_id'] . '&amp;tid=' . $topicLine['topic_id'];
    				$titre = substr($topicLine ['topic_titre'], 0, $max1) . '...';
     
    				echo '<a href="' . $lien . '">' . $titre . '</a><br />';
    				echo LastPostedBy($data2['topic_id'], $data2['forum_membre_id']);'
                    ' .
                    "\n\t" .
                    '  ' .
                    "\n\t" .
                    '  ' .
                    "\n\t"
            ;        $j++;
     
                  $r->closeCursor();
        }

    donc c'est la ligne 70 qui me fait bug

    car il me fait passé en haut de la page

    he oui ca vient du code substr

    si vous pouvez voir pour quoi

    merci de votre aide

  7. #27
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    tu n'aurais pas oublié des parenthèses {} dans ton if else, lignes 63 et suivantes ?
    Participez vous aussi !
    Message utile
    Discussion résolue

  8. #28
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 100
    Points : 4 445
    Points
    4 445
    Par défaut
    bon, je comprend rien,

    "ca bug" signifie uniquement que tu as un probleme d'affichage ?
    php ne plante pas ligne 70 apparemment ? (vue copie écran)

    pour ton affichage "tableau" tu utilises des "\t" !!!!!!!!!!!!!!!!!!!!!!!!!

    pas en html pour une mise en page on doit utiliser des balises html !
    $moi= ( !== ) ? : ;

  9. #29
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    je dis pour ceux qui n'ont pas vu mon message.

    si je mets :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="' . getLienModule ( "forum", "voirmessage" ) . '?fid=' . $data['forum_id'] . '&amp;tid=' . $topicLine ['topic_id'] . '">' . ($topicLine ['topic_titre']) . '</a><br />' . LastPostedBy ( $data2 ["topic_id"], $data2 ["forum_membre_id"] ) .'';
    là ça marche l'affichage.

    mais quand je mets ce code avec couper la phrase avec pointillés :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $max1=100;
    $lien = getLienModule('forum', 'voirmessage') . '?fid=' . $data['forum_id'] . '&amp;tid=' . $topicLine['topic_id'];
    $titre = substr($topicLine ['topic_titre'], 0, $max1) . '...';
     
    echo '<a href="' . $lien . '">' . $titre . '</a><br />';
    echo LastPostedBy($data2['topic_id'], $data2['forum_membre_id']);
    cette partie est passé en haut du forum.

    Donc c'est ce code qui me fait planté.

    Merci.

  10. #30
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino Voir le message
    PS : Et merci de faire attention à la présentation de ton code quand tu le colles ! Les indentations de 3 kilomètres ou les quotes oubliées, c'est pas ce qu'il y a de plus agréable à lire.
    Merci de tenir compte des remarques qui te sont faites !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #31
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    merci , juste une question

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            if(!$r->rowCount())
                $display .= "\n\t\t".'<div class="Forum_contenu_message">&nbsp;</div><div class="Forum_contenu_dernier_message">&nbsp;N/A</div>'."\n\t".''."\n\t".'' . "\n\t";
            else
    $display .= "\n\t\t" .'<div class="Forum_contenu_message">'.GetSuperMiniAvatarById( $data2 ["forum_membre_id"] ) .'</div>';				
    $max1=100;
    $lien = getLienModule('forum', 'voirmessage') . '?fid=' . $data['forum_id'] . '&amp;tid=' . $topicLine['topic_id'];
    $titre = substr($topicLine ['topic_titre'], 0, $max1) . '...';
     
    $display .= '<div class="Forum_contenu_dernier_message"><a href="' . $lien . '">' . $titre . '</a></div><br />';
    $display . LastPostedBy($data2['topic_id'], $data2['forum_membre_id']);                "\n\t" .

    sur la ligne ou c'est marqué ;N/A vue qu'il n'a pas de titre mais il me met un cadre avec des .....

    il faudra dire de ne pas mettre des .... sur la ligne 2

    merci après ca sera résolu

  12. #32
    Invité
    Invité(e)
    Par défaut
    @papajoker :
    L'ajout de "\n\t\t" dans le code permet une mise en forme du code html généré (passages à la ligne et tabulations du code).

    Ce qui n'empêche pas mario62 de tabuler n'importe comment son code PHP...
    Ce qui rend son code difficile à lire (et donc aussi à déboguer).

    Pour répondre à mario62 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $titre = (strlen($topicLine ['topic_titre'])>$max1)? substr($topicLine ['topic_titre'], 0, $max1) . '...' : $topicLine ['topic_titre'];
    N.B. mario94 - 32 Points = mario62
    Dernière modification par Invité ; 18/09/2013 à 15h19.

  13. #33
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    merci mais avec ton code ça m'a fait disparaître les ..... dans le titre

    mais il y a un cadre vide qui ne devait pas avoir

    http://leprojet.legtux.org/forum.html

    c'est dans ligne n/a qui s'est rajouté un cadre pour rien

  14. #34
    Invité
    Invité(e)
    Par défaut
    Comprends-tu au moins le code que j'ai écrit ?

  15. #35
    Inactif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 164
    Points : 0
    Points
    0
    Par défaut
    Pourquoi ça fait un cadre en plus qui ne devrait pas y être ?

  16. #36
    Invité
    Invité(e)
    Par défaut
    Bis repetita :
    Citation Envoyé par Bovino Voir le message
    Merci de tenir compte des remarques qui te sont faites !
    ...et de répondre aux questions posées...

    J'ai même une 2ème question : combien vaut $max1 ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XSLT] Comment couper une phrase "proprement"?
    Par manuds dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 20/12/2007, 09h07
  2. algorithme pour chercher une phrase dans un texte
    Par kha_yassine dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 22/06/2007, 22h24
  3. Couper une phrase en 2
    Par nico63vb dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/02/2007, 17h21
  4. [Conversion]Comment faire pour couper un Double trop long?
    Par dessinateurttuyen dans le forum Général Java
    Réponses: 1
    Dernier message: 13/11/2005, 02h22
  5. Réponses: 1
    Dernier message: 20/09/2005, 16h55

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