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, toutes les FAQ PHP, 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
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
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 :
1
2
3
 
         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 :
1
2
 
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 00
Vieux 06/10/2009, 09h22   #2
Modérateur
 
Avatar de sebhm
 
Homme Seb
Développeur Web
Inscription : avril 2004
Messages : 1 055
Détails du profil
Informations personnelles :
Nom : Homme Seb
Âge : 31
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2004
Messages : 1 055
Points : 1 173
Points : 1 173
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 00
Vieux 06/10/2009, 09h53   #3
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
merci

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

Code :
1
2
 
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 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h10.


 
 
 
 
Partenaires

Hébergement Web