Aller au contenu

Concaténation de mots


xpatval

Sujets conseillés

Bonjour,

J'effectue le test suivant: via requête SQL, je récupère un certain nombre d'expressions contenues dans une bdd, puis concatène ce résultat dans une phrase.

L'affichage sur une page est correct. La phrase contient bien les mots, les uns derrière les autre.

Ma question concerne la visualisation du code source, une fois la page affichée. Les mots ne sont plus concaténés, mais les uns au-dessus des autres. Pourquoi ?

Voici le script:

$virg = 0;
$mysql->query("SELECT cle FROM cle ORDER BY RAND() LIMIT 10");
if ($mysql->num_rows() > 0)
{
while ($mysql->movenext())
{
if ($virg == 0) $phr .= $mysql->getfield("cle");
else $phr .= ",".$mysql->getfield("cle");
$virg += 1;
}

}
echo html_entity_decode($phr);

A l'affichage j'ai:

mot1, mot2, mot3, mot4

A l'affichage du source, j'ai:

mot1,

mot2,

mot3,

mot4

Ben pourquoi ?

Merci de vos réponses,

xpatval

Lien vers le commentaire
Partager sur d’autres sites

L'affichage différent est "normal". Tu dois avoir des retours chariots qui ressortent dans le code source, que l'interpréteur HTML zappe (pour lui, seul un <br> est considéré comme un retour chariot).

La question reste en suspens : d'où viennent ces retours chariots ? Ton code n'en générant apparemment pas, il reste deux possibilités :

- Ils sont enregistrés en base

- ta fonction getfield() les génère.

Lien vers le commentaire
Partager sur d’autres sites

Ca ne vient pas de la fonction, je viens de la vérifier.

Donc, de celle qui effectue l'insert des "mots" dans le bdd. Je suis en train de vérifier.

Autre chose, les "mots" ont été insérés à partir d'un csv. Cela peut-il venir de là ?

xpatval

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...