Affichage des <br/> en récupération d'un javascript

Affichage des <br/> en récupération d'un javascript - HTML/CSS - Programmation

Marsh Posté le 13-05-2009 à 10:00:10    

Bonjour à tous,
 
Dans une fonction je récupère mes commentaires (provenant d'une base de donnée) en javascript :
 

Code :
  1. <script>
  2. var Tableau_commentaire_photo = new Array();
  3. var compter_commentaire_photo = new Array();
  4. var numero_photo;
  5. for(j=1;j<=6;j++)
  6. {
  7. Tableau_commentaire_photo[j] = new Array();
  8. for(k=0;k<40;k++)
  9.  Tableau_commentaire_photo[j][k] = ' ';
  10. }
  11. </script>


...

Code :
  1. for($i=1;$i<=$x;$i++)
  2. {
  3. $p = 1;
  4. // Sélectionne tout les commentaires du pseudo pour les photos
  5. $commentaire_photo_requete = "Select * From `blog`.`Commentaires` Where pseudo='$pseudo' and Titre_Article='photo_photo_photo' and Id_Article = '$i'";
  6. $commentaire_photo = mysql_query($commentaire_photo_requete);
  7. $Numero_commentaire = 0;
  8. while ($row_commentaire_photo = mysql_fetch_array($commentaire_photo, MYSQL_ASSOC))
  9. {
  10.  $commentaire = $row_commentaire_photo['Commentaire'];
  11.  $Numero_commentaire++;
  12.  printf ("
  13.  <script>
  14.   Tableau_commentaire_photo[$i][$Numero_commentaire] = $commentaire';
  15.  </script>" );
  16.  $p++;
  17. }
  18. ?>
  19. <script>
  20.  compter_commentaire_photo[<?php echo $i ?>] = <?php echo $Numero_commentaire ?>;
  21.  numero_photo = <?php echo $i ?>;
  22. </script>
  23. <?php
  24. }


 
Puis je les affiche avec du javascript :
 

Code :
  1. for(m=1;m<=compter_commentaire_photo[varT];m++)
  2. {
  3. affichage += Tableau_commentaire_photo[varT][m] +"";
  4. if(m == compter_commentaire_photo[varT]-1)
  5.  affichage += "<br/>";
  6. }
  7. document.getElementById('commentaire').innerHTML=affichage;


 
Voici mon problème :
Lorsque j'affiche des commentaires qui sont sur une seule ligne, il veut bien me les afficher.
Mais dès qu'ils sont sur deux lignes, le commentaire ne s'affiche plus du tout (même pas la première ligne).
Alors que dans ma base de donnée j'ai bien mon commentaire avec les <br/> :
test<br />
test
 
J'ai donc essayé d'enlever les <br/> quand j'entre mon commentaire dans la base, mais ça fait la même chose...

Reply

Marsh Posté le 13-05-2009 à 10:00:10   

Reply

Marsh Posté le 13-05-2009 à 10:01:50    

C'est parce que t'es trop con...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 13-05-2009 à 10:03:28    

Hum, je comprends pas pourquoi tu m'insultes comme ça ? :(

Reply

Marsh Posté le 13-05-2009 à 10:07:11    

abais a écrit :

C'est parce que t'es trop con...


peut etre parce que tu es un gros boulet, et que tu crée a chaque fois deux messages.
ca sert a rien de faire ca
 
sinon
quand tu recois de la bd directement, les retours a la ligne ne sont pas des <br/> mais des \n je crois,
donc il faut les transformer,
moi j'utilise "jsTextReplace", qui marche parfaitement
 
essaye comme ca
document.getElementById('commentaire').innerHTML=jsTextReplace(affichage);

Reply

Marsh Posté le 13-05-2009 à 10:16:06    

Merci beaucoup Infoman ! Je vais tester ça tout de suite.
 
 

Citation :

peut etre parce que tu es un gros boulet, et que tu crée a chaque fois deux messages.
ca sert a rien de faire ca


 
C'est peut-être parce que j'ai eu un problème aussi... Pas obligé d'être agressif comme ça  :??:  
A chaque fois que je validais le message mon navigateur freezé (j'utilise Firefox) quand je faisais valider votre message, du coup je pensais pas que ça l'avais entré, parce que j'ai eu le même bug sur un autre forum et ça postait pas la nouvelle discussion.
Enfin bref

Reply

Marsh Posté le 13-05-2009 à 10:18:15    

Je viens de tester le jsTextReplace(), maintenant il m'affiche aucun commentaire :(

Reply

Marsh Posté le 13-05-2009 à 10:30:37    

désole c'est moi qui est fait le boulet,
je croyais que c'était une fonction de js, mais ca c'est une toute faite.
elle marche sous IE et FF

Code :
  1. function jsTextReplace(chaine){
  2. rExp = /\n/g;
  3.  myString = chaine;
  4.  myString = myString.replace(new RegExp(rExp),"<br>" );
  5.  return myString;
  6. }


Message édité par infoman64 le 13-05-2009 à 10:31:40
Reply

Marsh Posté le 13-05-2009 à 10:42:20    

Je viens de tester la fonction que tu m'as donné, merci.

 

Par contre j'ai toujours le même problème les commentaires avec <br/> ne veulent pas s'afficher on dirait...

 

Je te montre le code HTML généré :

 
Code :
  1. <script>
  2.   Tableau_commentaire_photo[2][1] = '1 <b>lol</b><span style="font-size:10px"> Posté à :15:42 le 12/05/2009</span><div style="font-size:14px; position:relative; left:15px;">lol</div>';
  3.   Tableau_commentaire_photo[2][2] = '2 <b>Patrick</b><span style="font-size:10px"> Posté à :17:49 le 12/05/2009</span><div style="font-size:14px; position:relative; left:15px;">Patrick !!!!</div>';
  4.   Tableau_commentaire_photo[2][3] = '3 <b>Karibou</b><span style="font-size:10px"> Posté à :10:38 le 13/05/2009</span><div style="font-size:14px; position:relative; left:15px;">Karibou<br />
  5.  Plan d'évacuation</div>';
  6.   Tableau_commentaire_photo[2][4] = '4 <b>Coool</b><span style="font-size:10px"> Posté à :18:04 le 12/05/2009</span><div style="font-size:14px; position:relative; left:15px;">Coooooooooooooooooooooool<br />
  7.  Coooooooooooooooooooooool</div>';
  8.   compter_commentaire_photo[2] = 4;
  9.   numero_photo = 2;
  10.   compter_commentaire_photo[3] = 0;
  11.   numero_photo = 3;
  12.   Tableau_commentaire_photo[4][1] = '1 <b>kouroukoukou</b><span style="font-size:10px"> Posté à :14:45 le 12/05/2009</span><div style="font-size:14px; position:relative; left:15px;">kouroukoukou roukoukou stach stach !</div>';
  13.   Tableau_commentaire_photo[4][2] = '2 <b>fsdq</b><span style="font-size:10px"> Posté à :15:21 le 12/05/2009</span><div style="font-size:14px; position:relative; left:15px;">gfsdmnqm</div>';
  14.   compter_commentaire_photo[5] = 0;
  15.   numero_photo = 5;
  16. </script>


Message édité par ozone--24 le 13-05-2009 à 11:00:19
Reply

Marsh Posté le 13-05-2009 à 12:05:41    

ozone--24 a écrit :

Hum, je comprends pas pourquoi tu m'insultes comme ça ? :(


Parceque tu avais créé 5 ou 6 exemplaires du même Post, c'est Spammant et lourd pour les modérateurs de ce forum...

ozone--24 a écrit :

C'est peut-être parce que j'ai eu un problème aussi... Pas obligé d'être agressif comme ça  :??:
A chaque fois que je validais le message mon navigateur freezé (j'utilise Firefox) quand je faisais valider votre message, du coup je pensais pas que ça l'avais entré, parce que j'ai eu le même bug sur un autre forum et ça postait pas la nouvelle discussion.
Enfin bref

Ok, je m'excuse d'avoir été agressif :o
Pas facile de trier parmi les boulets susceptibles de faire ça volontairement...


Message édité par abais le 13-05-2009 à 12:08:42

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 13-05-2009 à 14:36:23    

Pas de souci ^^
ça m'avait un peu secoué quand j'ai vu qu'on me traitait de con comme ça ^^
 
J'ai trouvé la solution, donc je la poste :  

Code :
  1. // Convertis les \n en <br/>
  2. $commentaire = nl2br($commentaire);
  3. // Retourne la chaîne en supprimant les retour chariot
  4. $commentaire = str_replace( "\r\n", "", $commentaire);


 
PS : pas mal ton Site internet abais  ;)  Très très jolie, finition parfaite :-)
Juste un petit reproche pour chipoter ( ^^ ) : vu que les gens ont de plus en plus souvent des écrans 19" et que la résolution des écrans est tout le temps au dessus de 1024*768 tu pourrais agrandir la taille du contenu de la page :)

Reply

Marsh Posté le 13-05-2009 à 14:36:23   

Reply

Marsh Posté le 13-05-2009 à 15:44:38    

1)Mon site est à refaire depuis trop longtemps, je ne vais pas tarder à m'y mettre... d'autant plus que mes capacité en terme de dev flash ont plus que décuplé (cf : anakin2Dooku )...
 
2) le contenu n'est que scolaire, c'est pas top pour moi...
 
2) C'est la hauteur du site qui posait souci (je ne veux pas de scroll), mais si tu es au dessus de 1280*800, il s'affichera en plus grand...
 
Merci en tout cas ;)


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed