begin process at 2012 05 28 15:36:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

vendredi 10 septembre 2010 à 21:34:17 | Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

pfl34

Bonsoir à tous,

Je dois afficher un tarif pour plusieurs produits. Je ne maitrise pas la saisie des différents éléments (c'est le client). Pour faire "plus joli", je voudrais ajouter des ... (points de suspension) à la fin des libellés produits pour "aller" jusqu'à la colonne prix. Je ne peux pas vous donner le code, mon serveur est HS ...

Merci d'avance.




PFL34
vendredi 10 septembre 2010 à 21:59:06 | Re : Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

kohntark

Membre Club
Salut,

Je ne peux pas vous donner le code, mon serveur est HS ...


Sans méchanceté aucune ça nous fait une belle jambe, ... que répondre ? ... il faut concaténer les résultats avec la string '...'

Et je n'ai rien compris au reste, peux tu être plus précis si cela à de l'importance ?

Cordialement,

Kohntark -
samedi 11 septembre 2010 à 11:11:51 | Re : Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

pfl34

Salut Konhtark,

Merci d'avoir répondu malgré le manque de précisions sur la question ...

Concaténer d'accord mais le problème c'est que les libellés des produits sont, par nature, de tailles différentes.

Voici l'extrait du code où je lis la BDD pour afficher le tarif. Je n'en pas suis très fier (table) mais bon la prochaine je ferai un positionnement en CSS qui va bien.

<table style="table-layout:fixed;" border="0">
<?php do
{ ?>
<tr valign="middle">
<td width="150"nowrap="nowrap" class="bodyText" style="font-weight:bold;">
<div style="width:150px;">
<?php echo $row_rs_soins['soin_nom']; ?>
</div>
</td>
<td width="510" nowrap="nowrap" class="bodyText" style="font-style:italic; margin-top:0px;">
<div style="width:510px;">
<!-- c'est la donnee "soin_description" que je voudrais compléter avec des ... (pas toujours le même nombre)
pour "aller" jusqu'à la cellule du prix "soin_prix_01" -->
<?php echo $row_rs_soins['soin_description']; ?>
<!-- -->
</div>
</td>
<td nowrap="nowrap" class="bodyText"><?php echo $row_rs_soins['soin_prix_01']; ?> &euro;</td>
<td nowrap="nowrap" class="bodyText"><?php echo $row_rs_soins['soin_promo']; ?></td>
<td class="bodyText"><?php echo $row_rs_soins['soin_marque']; ?></td>
</tr>
<?php } while ($row_rs_soins = mysql_fetch_assoc($rs_soins)); ?>
</table>


Encore pour ton aide.
PFL34
samedi 11 septembre 2010 à 12:59:04 | Re : Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

kohntark

Membre Club

Je n'en pas suis très fier (table)


Perso ça ne me choque absolument pas, et je dirai même que dans ce cas l'utilisation d'un tableau est bien plus approprié (présentation de données) que les CSS.

Comme toujours il y a pas mal de façons de faire : JS, CSS, PHP, ...

L'une d'entre elles pourrait ressembler à ça :
Code PHP :
<?php
<table style="table-layout:fixed;" border="0">
  <?php do { ?>
  <tr valign="middle">
//[...]
    <td style="max-width:510px;overflow:hidden;white-space: nowrap; font-style:italic; margin-top:0px;" class="bodyText">

        <?php 
          echo $row_rs_soins['soin_description'].'&nbsp;'.str_repeat('.', 300);
        ?>
    </td>
    <td nowrap="nowrap" class="bodyText">
      <?php echo $row_rs_soins['soin_prix_01'];?> &euro;
    </td>
//[...]
  </tr>
<?php } while ($row_rs_soins = mysql_fetch_assoc($rs_soins)); ?>
</table>
?>


Ce n'est sans doute pas la solution la plus élégante, puisqu'elle ne tient aucunement compte de la largeur allouée, mais se contente de masquer ce qui sort de cette zone. Elle a cependant l'avantage de ne faire appel à aucun autre langage que HTML/CSS (le str_repeat() peut être écrit en dur (suite de points)) et devrait être compatible avec tous les navigateurs.

Il faudrait également gérer les cas où "soin_description" dépasse les 510px (revenir à la ligne, couper avec wordwrap(), ...)

En espérant t'avoir au moins donné une piste.

Cordialement,

Kohntark -
samedi 11 septembre 2010 à 14:02:04 | Re : Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

pfl34


Alors là, vraiment merci car j'ai passé un moment sans trouver quoi que ce soit de correct.

Cà marche très bien. Je vais enrichir mon code pour me protéger du dépassement des 510 px.

Bonne fin de week-end.

Si je peux aider pour tes tests sur MODBUS, pourquoi pas mais je suis, tu l'as certainement compris, un peu ... débutant.

Bien cordialement,

Patrice
mardi 14 septembre 2010 à 18:07:00 | Re : Ajouter des points de suspension dans une chaine de caracteres issue d'un BDD

pfl34


Salut Konhtark,

C'était trop beau, çà va très bien sous FF mais pas du tout sur IE 6, 7, 8 ... A priori, FF gère correctement le "table-layout:fixed" même sans donner de valeur width aux différentes COL. Le "nowrap="nowrap"" ne sert pas à grand chose, les "width" et "max-width" non plus !

C'était bien quand même. Merci et bonne fin de journée.

PFL34

<!-- DEBUT TABLE -->
<table style="table-layout:fixed;" border="0">
<?php do { ?>
<tr valign="middle">
<td nowrap="nowrap" class="bodyText" style="font-weight:bold;">
<?php
echo $row_rs_soins['soin_nom']; ?>
</td>
<td nowrap="nowrap" width="510" style="max-width:510px; overflow:hidden; white-space: nowrap; font-style:italic; margin-top:0px;" class="bodyText">
<?php
echo $row_rs_soins['soin_description'].'&nbsp;'.str_repeat('.', 150); ?>
</td>
<td nowrap="nowrap" class="bodyText">
<?php
echo $row_rs_soins['soin_prix_01'];?> &euro;
</td>
</tr>
<?php
}
while ($row_rs_soins = mysql_fetch_assoc($rs_soins)); ?>
</table>


PFL34


Cette discussion est classée dans : points, chaine, ajouter, caracteres, suspension


Répondre à ce message

Sujets en rapport avec ce message

ajouter des jours à une date? [ par cedd ] Bonjour!Petit problème: je récupère une chaine de caractères qui est une date, de la forme 23/03/2004(enfin, je peux la mettre autrement si besoin es Delimiteur de chaine de caracteres [ par phpwankenobi ] Bonjour,Je ne sais pas comment utiliser le dlimiteur "\" pour delimiter les chaines de caracteres, en clair je souhaite recuperer et/ou passer correct Couper uen chaine de caracteres [ par SatanCorporation ] Salut a tous!!!!comment je peux faire pour couper uen chaine de caracteres apres que n soit egal a n en coupant celle ci au mot suvant :$mavariable="1 chaine de caracteres [ par cyberastuces ] Bonjour,Voila je cherche comment afficher un message si un chaine de caracteres contien que des espace et aucun caracteres.J'ai penser à :if(!eregi( " Chaine de caracteres [ par JoJo738 ] Bonsoir, Je cherche une fonction permettant de faire un tableau avec une chaine de caracteres. De sorte que j'obtienne : $chaine = 'aaabacddc';Array( ajouter une chaine à une variable (lié à un fichier) avant l'extension [ par lanomalie ] bonjour, je connais pas grand chose au php mais voila ma question:     code:     $dossier = opendir("dossi Comment autoriser uniquement les caracteres alphanumeriques dans une chaine ? [ par WizardNx ] Salut ! Voilà, j'ai un petit probleme... Je suis pas très très fort avec les syntaxes ereg... Ce que je veux faire c'est interdire tout caractère qui Chaine de caracteres [ par bizzard4 ] Bonjour !J'ai une formulaire avec un input qui prend le chemin d'une image en local.. Le resultat est par exemple : C:\easyphp\www\news\images\test.jp Probleme de caracteres [ par LaurentKOogar ] Bonjour,Je lis un Flux XML et dans la recuperation des datas j'ai des caracteres qui pour moi sont totalement inconnu: Ã© => é Ã§ =>  çDon Bug dans modification de chaine de caracteres [ par eikichi ] Bonjour a tous, J'ai un petit probleme avec la fonction substr_replace. Dans la fonction addSpace que vous pourrez voir ci-dessous, je ne parviens pa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,819 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales