Afficher variable php dans javascript

alex240 Messages postés 173 Statut Membre -  
alex240 Messages postés 173 Statut Membre -
Bonjour,
Je ne trouve pas comment insérer la variable php dans javascript.
Le code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="fr" ><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style2.css" /><title>AirPACAVAR</title>
</head>
<body>
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}

// Si tout va bien, on peut continuer

// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT * FROM arrivals LIMIT 0, 10');

// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<!-- DEBUT DU SCRIPT --><DIV ID=ejs_box2_box STYLE="background:#000000;color:#FFFF00;font-family:Courrier;font-size:11;width:200;height:100;padding:5"></DIV>
<SCRIPT LANGUAGE=JavaScript>
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
ejs_box2_message = new Array;
ejs_box2_message[0] = "<?php echo json_encode$donnees['callsign']?>";

ejs_box2_actual = 0;
ejs_box2_html_flag = 0;

function ejs_box2_go()
{
if(document.getElementById)
{
ejs_box2_char = 1;
ejs_box2_affich(ejs_box2_actual)
ejs_box2_actual++;
if(ejs_box2_actual >= ejs_box2_message.length)
ejs_box2_actual = 0;
}
}

function ejs_box2_affich(lactual)
{
var pix = ejs_box2_message[lactual].charAt(ejs_box2_char);
if(pix == "<")
ejs_box2_html_flag = 1;
if(pix == ">")
ejs_box2_html_flag = 0;
var texte = ejs_box2_message[lactual].substring(0,ejs_box2_char);
document.getElementById("ejs_box2_box").innerHTML = texte;
if(ejs_box2_char < ejs_box2_message[lactual].length)
{
ejs_box2_char++;
if(ejs_box2_html_flag == 1)
ejs_box2_affich(lactual);
else
setTimeout("ejs_box2_affich("+lactual+")",50)
}
else
setTimeout("ejs_box2_go()",3000)
}

window.onload = ejs_box2_go;
</SCRIPT>
<!-- FIN DU SCRIPT -->
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>
</body>

Je veux afficher la variable soulignée $donnees[callsign] en texte afin qu'il soit reconnaissable par le script.
Excusez moi si le code est un peu "bazar" je débute.
Merci d'avance

A voir également:

1 réponse

flokocha Messages postés 1519 Statut Membre 281
 
Salut,

Je n'ai pas cherché à comprendre ton script, mais je vois déjà au premier coup d'oeil qu'il te manque des parenthèses ici :
<?php echo json_encode$donnees['callsign']?>


Ça devrait plutôt ressembler à ceci :
<?php echo json_encode($donnees['callsign']); ?>
0
alex240 Messages postés 173 Statut Membre 6
 
J'ai rectifié mais ca n'affiche rien.
En gros le script fait en sorte que le texte s'affiche lettre par lettre, mais je veux qu'il affiche les infos issues de la bdd d'ou une variable php.
A+
0
flokocha Messages postés 1519 Statut Membre 281
 
Simple question pour bien comprendre : pourquoi ce recours à la fonction json_encode() ?
0
alex240 Messages postés 173 Statut Membre 6
 
j'ai lu que cette fonction fait en sorte de la rendre compatible avec du javacript
"Avec la fonction json_encode tu es tranquille.
JSON signifie JavaScript Object Notation. Ca sérialise ta variable pour le Javascript." sur codez.fr
A+
0
flokocha Messages postés 1519 Statut Membre 281
 
Quel type de donnée contient $donnees['callsign'] ?

Le JSON est adapté lorsqu'il s'agit de données structurées. Mais si ta variable n'est ni un tableau ni un objet, il ne me parait d'aucune utilité.
0
alex240 Messages postés 173 Statut Membre 6
 
Il contient le callsign de l'appareil exemple BAW997 et dans ma base j'enregistre aussi la provenance , l'heure d'arrivée et le status de l'appareil (approche , arrivée , embarquement) dans d,autres champs et je veux qu,il m'affiche ces 4champs avec l'effet mais le status change,la page est recalculée si le statut change. J'ai réussi à affiché la première ligne (ma base en contient 1) en php.
A +
0