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 :

Récuperer une variable en DB


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut Récuperer une variable en DB
    Hello,

    J'ai une fonction en javascript qui me permet de faire défiler un texte, ça marche très bien si la variable est mise en dur dans le JS. Ce que j'aimerais faire, c'est aller chercher le contenu de la variable en DB. J'ai pensé à le faire en PHP mais il doit y avoir un stress quaelque part, quelqu'un voit la cause?

    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
    <SCRIPT LANGUAGE="JavaScript">
    var position=0;
    var msg= "<?php echo testBirthday(); ?>"
    for (count=0; count<10;count=count+1)
    {
    msg=msg+" "+msg;
    }
    function banniere()
    {
    document.getElementById('bonAnniv').innerHTML = msg.substring(position,position+100);
    position=position+1;
    if (position==100)
    position=0;
    setTimeout("banniere()",100);
    }
    </SCRIPT>
    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
    <?php
    	function testBirthday(){
    	include("comp/connect.php");
    	$query = "SELECT  trim(S_nom) FROM membre ";
    	$mesLignes = "Bonjour ";
    	while($ligne = mysql_fetch_row($result)) {
    		if($i>0){
    			$mesLignes .= htmlentities(" et à ");
    		}
    		$mesLignes .= " ".htmlentities($ligne[0])."";
    		$i++;
    		}
    	return ltrim($mesLignes);
    }
    	?>

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    que donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var msg= "<?php echo testBirthday(); ?>";
    alert(msg);
    ?

    A+

  3. #3
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Ca ne donne rien, pas même une alerte vide... Et quand dans l'HTML, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo testBirthday(); ?>
    la requète me retourne :

    un passage à la ligne, bonjour prénom, un autre passage à la ligne.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Empty_body Voir le message
    Ca ne donne rien, pas même une alerte vide...
    c'est donc que testBirthday() te retourne une chaine "non compatible".
    Elle contient sûrement des caractères parasites (fin de ligne/retour chariot, quotes simples ou doubles etc.).
    Essaye en lui faisant retourner juste "Bonjour", puis vois où ça bloque ensuite ...

    A+

  5. #5
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    Si je passe juste bonjour, ça passe sans problème... On dirait que le stress vient de la chaîne puisée en DB... Existe-t-il un moyen de "l'épurer" de tous les carctère potentiellement gênant (plus particulièrement fin de ligne et retour de chariot)?

    Merci

  6. #6
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    J'ai réinstallé firebug, ce qui m'a permis de voir que dans la chaîne que j'essaie de placer dans ma variable javascript, il y a un \n qui fait tout planter... Dans le bout de code php, j'ai essayé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return str_replace("\n","",$mesLignes);
    mais ça ne fonctionne pas... Toujours la même erreur quelqu'un voit la solution?
    Merci.

  7. #7
    Membre actif Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Points : 239
    Points
    239
    Par défaut
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mesLignes = strip_tags($mesLignes);
    Lorsque je fais un echo de ma fonction dans la page ça ne pose pas de problème, il n'y a pas de \n par contre, firebug m'en affiche un dans la fonction javascript. Ca me laisse assez perplexe, quelqu'un voit la solution?

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Ca doit venir de la manière dont tu concatènes ta chaine en PHP.
    Cherche de ce côté : mieux vaut corriger à la source

    A+

Discussions similaires

  1. Récuperer une variable dans un autre cadre (frame)
    Par melhima dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/07/2006, 13h32
  2. Réponses: 23
    Dernier message: 26/03/2006, 20h36
  3. [Tableaux] récuperer une variable tableau passé par URL
    Par molesqualeux dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2005, 01h12
  4. [PHP-JS] Récuperer une variable javascript..
    Par gwendy dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2005, 21h24

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