Forum Clubic

Ecrire sur plusieur ligne dans un tableau

Bonjour a tous, je n’arrie pas à trouver un moen d’écrire sur plusieurs lignes dans un tableau je m’explique :
j’ai crée une sorte de messagerie en php et je place mon message dans une variable de type $mess
jusque là aucun problème tout fonctionne lorsque le message est court
mais lorsque le message est tres long et qu’il est écrit dans un tableau tout le message s’écrit sur une ligne et donc on ne voit pas la fin du message s’il est très long
j’éspère avoir été clair je vous remercie.

?

Fait voir le code qui écrit le message? (mais je parierai que tu ne fermes pas correctement les balises)

voila l’insertion dans la base de donnée :

$tre=mysql_real_escape_string(htmlspecialchars($_REQUEST[‘message’]));

$req=mysql_query(“INSERT INTO mess (EXPEDITEUR,MESSAGE) VALUES (’”.$_REQUEST[‘exp’]."’, ‘$tre’)",$connexion) or die(mysql_error());
?>

Le message a bien été envoyé. Merci!

et ce qui mepermet de lire le message :

$resultat=mysql_query(“SELECT * from mess WHERE id=$id”,$connexion);
$nb=mysql_num_rows($resultat);
if($nb>0){
while($b=mysql_fetch_row($resultat)){
$j=0;
foreach($b as $i){
if($j==2){
$message=$i;
}
$j++;
}

et l’affichage :

<?php echo $id; ?> <?php echo $expediteur; ?> <?php echo $message; ?> }

Merci
Edité le 19/06/2009 à 00:40

(…)

Hormis l’oubli du

, gableouf: si tu n'as rien à donner comme aide, pas la peine de répondre hein. Y a plus de 85% des codes qui passent dans le forum (dont le tien) qui est horrible...

gosedan: pour ton problème, ta façon de récupérer les données de la base n'est pas la bonne. En premier lieu, si n'as besoin que du message, ne prend que le message :


$resultat=mysql_query(“SELECT mess_content from mess WHERE id=$id”,$connexion);



En supposant que mess_content est le contenu de ton message.

Cela donnera ensuite cela :


while($b=mysql_fetch_array($resultat)){
$message = $b[‘mess_content’];
}




Ce qui est bien plus simple, tu en conviendras je pense :) (et si tu ajoute une colonne, tu ne dépendras pas de l'ordre des colonnes retourné par mySQL)

Pour le reste, file vraiment tout le code, car effectivement tu ne fais pas les choses correctement je pense. Toutefois, essaye cela :

[code]<tr><td><?php echo $id; ?></td><td><?php echo htmlspecialchars($expediteur); ?></td><td><?php echo nl2br(htmlspecialchars($message)); ?></td></tr>

Est-ce que dans table mess ta colonne MESSAGE est bien de type “texte” et nom “varchar(x)”?

Si oui ça évite de faire une seconde boucle dans ton while et ainsi d’afficher ton et d’insérer ton message tel que tu l’as écrit.