IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Problème saut de ligne dans un tableau


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Problème saut de ligne dans un tableau
    Bonjour à tous,
    J'ai un problème lors de la création d'un tableau dynamique en Javascript...
    Les données sont d'abord récupérées en php dans une BDD, puis mises dans un tableau javascript.
    Le problème arrive lorsque le texte récupéré dans la BDD contient des sauts de ligne, voici le erreurs javascript que j'obtient :
    _ unterminated litteral string
    _ ie is not defined (cette erreur vient de celle d'avant)
    En gros, le fait qu'il y ait un saut de ligne dans la variable javascript fait que js considère que la variable est finie..mais du coup lorsque je referme le string...ben ça fout le bin's.
    Et j'ai beau traiter la chaine en php avec nl2br, avec des str_replace (en cherchant les caractères invisibles \r\n), rien n'y fait.
    Je vous donne le code du passage d'ou vient le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    $sql  = "SELECT titre, message ";
    	$sql .= "FROM $TABLE ";
     
    	$resultat 	= mysql_query ($sql,$connect_db) or mysql_die();
    	$nbenr 		= mysql_num_rows($resultat);
     
    	$cpt = 0;
     
    	// Construit le corps du tableau
    	while ($enr = mysql_fetch_array($resultat))
    	{
    		echo "messages['$cpt']=\"";
    		echo "<span class='t2'>";
    		echo stripslashes(nl2br(htmlentities($enr['titre'], ENT_QUOTES)));
    		echo '</span><br /><br />';
    		echo stripslashes(nl2br(htmlentities($enr['message'])));
    		echo '<br /><br />';
    		echo '"; ';
    		echo "\n";
    		$cpt++;
    	}
    Voila, merci d'avance à tous ceux qui pourront m'aider

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    fais d'abord le nl2br puis ensuite le htmlentities....

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    'est fait..
    mais le problème subsiste..:'(
    une autre idée ?
    Au pire une petite magouille pour contourner le problème...
    moi je ne vois pas...
    il y a encore un problème avec les caractères invisibles... quand je lui demande de compter les caractères de ma chaine, il me met 16 alors qe moi j'en compte 14...mais je ne vois pas de quels caractères de saut de ligne il s'agit

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    quel est le message d erreur ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Voici les messages d'erreur en entier :

    Erreur : unterminated string literal
    Fichier Source :
    Ligne : 17, Colonne : 14
    Code Source :
    messages['0']="<span class='t2'>FELICITATIONS</span><br /><br />Je me balade et je teste le site...&lt;br /&gt;

    Erreur : ie is not defined
    Fichier Source :
    Ligne : 65

    en sachant que le second vient du premier, et que dans le premier, justement le message n'est pas complet, il devrait continuer (il va jusqu'u fameux saut de ligne).
    Il n'existe pas en php une fonction pour supprimer tous les caracteres invisibles ?

    (je n'ai pas laissé le nom du fichier source, car le site est pourune société et je ne suis pas sur qu'ils veuillent bien que je les donne.. par contre si vous voulez vous rendre compte par vous même, vous trouverez les erreurs en allant sur http://letp.amoks.com)

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    as tu essayé tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo "<span class='t2'>"; 
          echo nl2br($enr['titre']); 
          echo '</span><br /><br />'; 
          echo nl2br($enr['message']); 
          echo '<br /><br />';
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Ouep, je viens de tester...
    en effet, a marche. Par contre du coup je n'ai plus le scrolling...
    Il n'ya donc pas moyen de mettre ce texte dans une varable js ? ou bie sinon quelqu'un aurait une idée, le but est d'avoir des brves qui scrollent les unes après les autres. Ou bien y a-t-il un equivalent de la fonction EOD en js ?

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben met un div au lieu du span, comme ca tu pourras lui definir un height en style et un overflow pour lui donner du scroll si la hauteur reelle excede celle definie en style
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <script>
    function initMsg(lg){
    	for(i=0;i<lg;i++){
    	messages[i]=document.getElementbyId('msg'+i).innerHTML;
    	}
    }
    </script>
     
    <?
    $sql  = "SELECT titre, message FROM $TABLE "; 
     
       $resultat    = mysql_query ($sql,$connect_db) or mysql_die(); 
       $nbenr       = mysql_num_rows($resultat); 
     
       $cpt = 0; 
     
       // Construit le corps du tableau 
       while ($enr = mysql_fetch_array($resultat)) 
       { 
          ?>
          <div id="msg<?echo cpt?>">
          <pre>
          <span class='t2'>
         <? echo $enr['titre']; ?>
          </span>
          <br />
          <br />
          <? echo $enr['message']; ?>
          <br /><br />
    	</pre>
    	</div>
       <?
          $cpt++; 
       }
       ?>
     
       <script>
       initMsg(<?echo cpt--;?>)
       </script>

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/04/2014, 05h47
  2. [Débutant] Saut de ligne dans un tableau
    Par Seriale dans le forum MATLAB
    Réponses: 7
    Dernier message: 21/06/2013, 16h03
  3. Problème saut de ligne dans mes champs
    Par xess91 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/05/2010, 16h59
  4. [8.3] Saut de ligne dans un tableau croisé (8,3)
    Par sydnol dans le forum Cognos
    Réponses: 5
    Dernier message: 06/05/2009, 00h27
  5. Problème de saut de ligne dans un script
    Par AurelBUD dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo