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 :

[Tableaux] Pb mot trop long qui fait agrandir mon tableau !


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut [Tableaux] Pb mot trop long qui fait agrandir mon tableau !
    Salut à tous,

    J'ai un tableau avec 1 colonne et avec plusieurs lignes en html. Le HTML est dans une page PHP.
    Mon pb est que lorsque j'ai un mot ou une url trop long, il fo que cela puisse couper le mot et mettre la suite du mot sur la ligne suivante. J'ai utilise la fonction wordwrap mais cela ne marche pas très bien. Car le "m" et par exemple prend plus de place que le "l". Je voulais savoir si vous ne connetreriez pas une fonction qui prend en compte la longeur des lettre, dans lequel on puisse indiquer la taille en piexel de notre colonne en paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $text = wordwrap($text, 15, "\n", 1);
    Je vous remercie par avance

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Je pense plutot que tu devrais aller regarder du côté des CSS afin de définir les cellules de ton tableau de taille fixe ainsi la mise en page se fera convenablement !
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Cela n'est pas normal que ton mot n'aille pas à la ligne automatiquement... Utilises-tu des espaces insécables   entre tes mots ?
    N'oubliez pas le tag .
    Merci de ne pas envoyer de MP pour des problèmes techniques.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    en fait j'ai deja chercher dans les css, mais cela ne marche pas non plus tres bien. J'ai mis une taille fixe avec table-layout:fixed, cela marche bien avec firefox mais pas avec IE. Sur IE, la largeur et la hauteur de la colonne sont toute de la meme taille pour toute les ligne. Alors que je prefererais comme cela m'affiche sur firefox, que la largeur soit fixe par contre ke la hauteur soit variable.

    Par contre , je n'utilise pas de   entre mes mots.

    Meric de m'avoir repondu

  5. #5
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Heu si c'est du echo de php je vois plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $text = wordwrap($text, 15, "<br>", 1);

    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    j'avais le meme probleme
    je faisais afficher des info sur un client et parfois il pouvait y avoir 2 nom au dossier
    sur un tableau formatter, ca agrandissait ma cellule et bousillait tout le reste

    ce que j'ai voulu faire est par ex:

    Jean-Chrystophe Dupras-Viau et Anne-Sophie DebelOeil
    que ca m'affiche une fois atteint le bout de la cellule
    Jean-Chrystophe Dupras-Viau et Anne-Sophie

    Si ya une solution plus simple car j'ai du contourner la solution et j'ai ragé sur ce probleme
    je vous pris de m'en faire part
    nb...les wordwrap, et &nbsp et tout ne fonctionnait pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <style type="text/css">
    .div
    {
    width:300px ; 
    overflow:hidden;
    white-space:nowrap;
    }
    </style>
    je fais ma requete et l'affichage est comme suit

    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
     
     
    $strScript = "SELECT DATE_FORMAT(dateEnvoiRapport,'%d/%m/%Y') AS laDateEnvoi ";
    $strScript .= "FROM tblrappelenvoi WHERE dossierID = '".$result['dossierID']."' ";
    $strScript .= "ORDER BY dateEnvoiRapport DESC LIMIT 0,1";
     
    $req2 = $objCon->dbQuery($strScript);
    $result2 = mysql_fetch_assoc($req2);
     
    echo "
      <tr>
    	<td align=\"center\" width=\"15%\">
    		".$result['versionDossier']."
    	</td>
    	<td align=\"center\" width=\"25%\">
    		".$result['cieAssuranceNom']."
    	</td>
    ";
    	//L'affichage ne dois pas dépasser la cellule, alors petit arnaque...voir css 
    	$nomtotal = str_replace(" ","&nbsp;",$result['clientAssureNom'].' '.$result['clientAssurePrenom']);
    	//ici je concatene la string seulement s'il y a un 2e nom au dossier dans clientAssureNom2
    	$nomtotal .= ($result['clientAssureNom2'] != '') ? str_replace(" ","&nbsp;",' ET '.$result['clientAssureNom2'].' '.$result['clientAssurePrenom2']) : '';
    echo "
    	<td align=\"center\" width=\"20%\">
    		<div class=\"div\">".$nomtotal."</div>
    	</td>
    	<td align=\"center\" width=\"20%\">
    		".$result['laDateRappel']."
    	</td>
    	<td align=\"center\" width=\"20%\">
    ";					
    echo 		($result2['laDateEnvoi'] != '00/00/0000') ? $result2['laDateEnvoi'] : 'Aucun envoi'; 
    echo "
    	</td>												
      </tr>
    ";
    Alors si ca peut t'aider tan mieux
    sinon..tan pis
    Si ya une meilleur solution ou encore plus simple lol
    je suis prenneur!!!!
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Merci pour ta reponse cela m'a inspirre. J'ai un peu modifier ton code et j'ai reussi à faire ce que je voulais
    C'est à dire que si le mot est trop long, cela va à la ligne suivante.

    Le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .div
    {
    width:122px ; 
    overflow:hidden;
    word-wrap:break-word;
    }
    Le hic c'est que ca marche nikel sur IE, mais le word-wrap ne marche pas sur FireFox. Est ce quelqu'un aurait une solution pour FireFox, car apparement à ce que j'ai trouve sur internet FireFox ne prend pas en compte word-wrap .

  8. #8
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    ouais c'est ennuyant
    et encore une fois la question de non compatibilité de browser!!!!

    on devrait développer soi pour l'un soi pour l'autre pis a la premiere page tu dis..ce site est fait pour ie ou pour ff si t'as pas le bon browser ben ca va afficher tout croche alors c'est toi le pire...
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Que veux tu, faut bien que mon site soit compatible IE et FireFox, vue que ce sont les 2 navigateurs les plus utilisés

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/04/2008, 19h10
  2. taille de tableau et mot trop long
    Par eyango dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/06/2007, 11h33
  3. Réponses: 5
    Dernier message: 30/08/2006, 14h50
  4. PB avec mot trop long qui agrandit mon tableau !
    Par wormseric dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 19/07/2006, 16h01
  5. Mot trop long
    Par Toudy dans le forum ASP
    Réponses: 6
    Dernier message: 28/07/2004, 17h51

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