Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster -> FAQ BDD, Cours BDD et Sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 05/10/2009, 15h19   #1 (permalink)
Expert Confirmé
 
Avatar de Fench
 
Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
Par défaut formatage de chaine

Bonjour,

Petit soucis depuis mon apprentissage Php,

J'utilise une liste déroulante qui est remplie par une requête Sql toute bête,

je désire formater ma liste déroulante à tant de caractères pour un champ spécifique,

pb à l'affichage les espaces sont automatiquement enlevés !!!!

j'utilise ce bout de code pour lire mon champ nom tel que:
Code :
 
         foreach( $collectionO as $index => $objet ) {
                 $nom = $objet->getNom();
 
qui me permet d'avoir un itérateur sur un ensemble d'objets ...

$nom est de taille 50 par ex et possédera un nom puis autant d'espace pour compléter à 50.

le pb est que dans le bout de code qui rempli la liste
Code :
 
echo( "<option>".$ligneSelect."</option>" );
 
et bien les espaces sont suprimés

Comment faire pour bien garder ces espaces ????

Merci
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2009, 09h22   #2 (permalink)
Modérateur
 
Avatar de sebhm
 
Date d'inscription: avril 2004
Messages: 869
Par défaut

Bonjour,

dans un option, les espaces qui suivent le texte ne servent à rien, puisque Option aura de toute facon la taille du texte le plus long.
Si ca avait les espaces avant le nom, OK, mais là je ne comprends pas .

Si tu parles de la valeur que tu récuperes apres avoir soumis ton formulaire, tu parles donc de la 'value' du champ option :
Code :
echo( "<option value=\"".$ligneSelect."\">".$ligneSelect."</option>" );
 
alors, si tu veux garder les espaces, il faut mettre le caractere particulier '&nbsp;' (espace insécable) qui sert à dire que cet espace ne peux pas être renvoyé à la ligne meme si le conteneur manque de place, et qui sert également (et c'est ce qui t'interesse) à 'forcer' les espaces, car si il y a plusieurs espaces 'normaux', l'affichage n'en conserve qu'un seul (sinon, dans le code, tous les retours à la lignes, les tabulations, les espaces qu'on a mis sans faire gaffe se retrouveraient dans la page ! )

donc il faut faire un truc du genre :
Code :
echo( "<option value=\"".str_replace(' ', '&nbsp;',$ligneSelect)."\">".$ligneSelect."</option>" );
pour remplacer les espaces 'normaux' par les espaces insécables.
Et pareil dans le texte si tu en as besoin en javascript par exemple
sebhm est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2009, 09h53   #3 (permalink)
Expert Confirmé
 
Avatar de Fench
 
Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
Par défaut

merci

En fait c'était pas sur le submit du formulaire contennant la liste mais seulement sur l'affichage.

Code :
 
echo( "<option>".str_replace(' ', '&nbsp;',$ligneSelect)."</option>" );
 
mais bon, c ton principe que j'utilise donc c cool, merci encore.
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 20h20.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.