Eviter <br /> lors de l'affichage grâce à explode

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Eviter <br /> lors de l'affichage grâce à explode

par mere-teresa » 20 déc. 2006, 12:56

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton [Mettre Résolu] qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié). ;)

par Invité » 20 déc. 2006, 12:51

Yes ! J'avais pas tilté à cause du $texte qui était resté dans ton code :)

Merci beaucoup !

par Ajoloca » 20 déc. 2006, 12:46

@zeus -> Tu triches :cry:
Pourquoi donc :?:
On a un tableau en entrée, une chaine bien formatée en sortie ? ;)
Non, tu as pris de la potion :boire9: et moi j'y ai pas droit :non:

par zeus » 20 déc. 2006, 12:43

@zeus -> Tu triches :cry:
Pourquoi donc :?:
On a un tableau en entrée, une chaine bien formatée en sortie ? ;)

par zeus » 20 déc. 2006, 12:42

Normal, implode() transforme en une seule fois le contenu de ton tableau en une chaine alors que toi, tu l'appliques sur chaque élément de ton tableau ;)

Regarde bien mon code, pas de foreach() ;)

par Invité » 20 déc. 2006, 12:36

Je vois l'astuce :)

J'ai essayé de le remplacer :
$_SESSION['dpt_souhaite'] = $_POST['dpt_souhaite'];
foreach ($_SESSION['dpt_souhaite'] as $valeur=>$texte)
{ 
	//$dpt_souhaite .= $texte."*";
	$dpt_souhaite = implode('*', $texte);
}
et j'ai l'erreur :
Warning: implode() [function.implode]: Bad arguments

J'ai fait une bêtise apparemment lol

par Ajoloca » 20 déc. 2006, 12:35

@zeus -> Tu triches :cry:

par zeus » 20 déc. 2006, 12:28

Il y a une astuce que j'utilise souvent pour ce genre de concaténation :
$_SESSION['dpt_souhaite'] = $_POST['dpt_souhaite'];
 
//Permet de construire une chaine de caractères contenant chaque case du tableau, séparée par un *, sans ajout à la fin
$dpt_souhaite = implode('*', $texte);
A partir de là, soit tu fait un bête str_replace($spt_souhaite, '*', '<br >');
soit, pour retrouver un tableau, tu peut faire l'inverse, c'est à dire
$dpt_souhaite = explode('*', $texte);

par Invité » 20 déc. 2006, 12:24

Oui c'est exact. Voici ma concaténation :
$_SESSION['dpt_souhaite'] = $_POST['dpt_souhaite'];
foreach ($_SESSION['dpt_souhaite'] as $valeur=>$texte)
{ 
     $dpt_souhaite .= $texte."*";
}

par Ajoloca » 20 déc. 2006, 12:20

Bonjour,

Si je me souviens bien, $row['dpt_souhaite'], est une valeur issue d'une concaténation dans un de tes posts, non ?

Si c'est le cas, remontre nous la concaténation et c'est là qu'on va corriger le PB, à la source.

C'est mieux que de faire du "bidouillage"

Eviter <br /> lors de l'affichage grâce à explode

par bobi » 20 déc. 2006, 12:16

Bonjour à tous !

J'ai dans ma table un champ qui contient les départements. Lors de l'insertion en base avec un formulaire, j'ai séparé chaque département choisi avec un *. Si on choisit paris et seine-et-marne, on aura Paris (75)*Seine-et-Marne (77)*.

Je voudrais maintenant l'afficher sur une page, j'ai donc ce code :
$lieu = explode("*", $row['dpt_souhaite']);
foreach ($lieu as $valeur)
{
     echo $valeur."<br />";
}
Le souci que j'ai, c'est qu'il me met un <br /> en trop à la fin :
Paris (75)
Seine-et-Marne (77)
//br ici en trop
suite...etc

Savez-vous comment je peux afficher exactement mes données sans <br> en trop ?

Merci !