Importer une variable PHP en JS

Eléphanteau du PHP | 33 Messages

16 déc. 2011, 08:49

Bonjour,

Vous allez me dire, cette question est maintes fois posée, c'est vrai, mais je comprends pas la réponse! :oops: :mrgreen:

Voila, Je crée mon site avec un éditeur de site bien connu, et je suis en train de monter la vente en ligne. C'est une fonction toute faite dans cet éditeur, sauf qu'il me pond des N° de commande à coup de Random, ça na ressemble à rien et je ne le souhaite pas.

J'ai donc fait un fichier PHP avec une fonction qui incrémente un INT unique à chaque commande.

"Cpt_Cmd_Sql.php"

Code : Tout sélectionner

<?php // on se connecte à MySQL include 'sqlparamconnect.php'; $db = mysql_connect($sql_host,$sql_login, $sql_password) or die(mysql_error()); // on sélectionne la base mysql_select_db($sql_bdd_compteurs,$db) or die(mysql_error()); // validation du formulaire if (!empty($_POST['submit']) && $_POST['submit'] == 'Valider') ----Uniquement pour faire les essais, à virer par la suite { // Récupération du compteur passé en paramètre $Type_Cmpt = 'Cmpt_Cmd'; // on va incrémenter son compteur $req_Inc_Val = "UPDATE $sql_bdd_table_compteurs SET Val = (Val+1) WHERE Type_Cmpt='".$Type_Cmpt."';"; // maintenant on exécute la requête mysql_query($req_Inc_Val) or die($req_Inc_Val.'<br />'.mysql_error()); } mysql_close(); ?>
et dans le code JS d'une fonction de l'éditeur que j'ai bidouillé:

Code : Tout sélectionner

...... var YDWTe=""; var pOAgN=new Date(); var h=pOAgN.getHours(); if (h<10) {h = "0" + h} var m=pOAgN.getMinutes(); if (m<10) {m = "0" + m} YDWTe+="MB-"+this.rVgtj(pOAgN.getDate())+this.rVgtj(pOAgN.getMonth()+1)+this.rVgtj(pOAgN.getYear()-100); YDWTe+="-"+this.rVgtj(this.SvkED("lastname").substring(0,1).toUpperCase())+this.rVgtj(this.SvkED("firstname").substring(0,1).toUpperCase()); YDWTe+= ........... C'est ici que je souhaiterais placée ma variable Val DIkil+=this.TGIRN("ID_ORDER",YDWTe); ......

Le fichier .PHP est sur le même répertoire que le fichier .js

Quelqu'un pourrait-il me guider?
Modifié en dernier par AleMatt le 16 déc. 2011, 08:56, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 déc. 2011, 08:56

salut,

afficher le JS avec php. file_get_contents + str_replace + echo

le str_replace pour remplacer un "token" qui prendra la valeur que tu récupère.

sinon il serais quand même plus simple de prendre la clef primaire de la table commande comme numéro ;)

d'ailleurs tu n'a pas besoin de ce numéro avant validation et insertion dans la base nan ?

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 33 Messages

16 déc. 2011, 08:58

Merci Moogli,

Mais je crois qu'il va me falloir une petite semaine pour déchiffrer ta réponse! :mrgreen:

Eléphanteau du PHP | 33 Messages

16 déc. 2011, 09:23

salut,

afficher le JS avec php. file_get_contents + str_replace + echo

le str_replace pour remplacer un "token" qui prendra la valeur que tu récupère.
Là je dois dire que je n'ai pas trop suivi. :shock:
sinon il serais quand même plus simple de prendre la clef primaire de la table commande comme numéro ;)
Non, car j'incremente une valeur, je n'ajoute pas d'enregistrement, donc la primaire ne change pas.
d'ailleurs tu n'a pas besoin de ce numéro avant validation et insertion dans la base nan ?
En fait, je recupère la valeur de ma BDD et je l’incrémente pour la prochaine commande, voilou :)

ViPHP
ViPHP | 2577 Messages

16 déc. 2011, 09:33

Bonjour,

Une solution simple est de renommer le fichier js en php et de l'appeler avec un parametre qui fournit le numéro de commande. Il suffit alors de mettre <?PHP echo $_GET['parametre'] ?> au bonne endroit dans ton script.
Eventuellement ajoute un header avec le bon type mime en début du fichier.

Eléphanteau du PHP | 33 Messages

16 déc. 2011, 10:07

Merci pour cette solution Mazzarini,

Comme expliqué plus haut, je tape dans des fichiers js générés par un éditeur de site internet, jze ne souhaite donc pas modifier la strcture des fichier (ou leur extention) au risque de m'y perdre et que plus rien ne fonctionne.

Je n'ai donc qu'une solution:

j'ai une base de données où un Integer correspond à l’incrément du numéro de commande.
Une fonction PHP qui lit, puis incrémente cet Integer.

Je souhaite donc utiliser cet integer dans un fichier JS existant en provenance de ma fonction PHP.

D'ailleurs, puis-je intégrer ce code PHP au sein du code JS? Cela pourrait être une solution, non?

Ce sont des questions peut-être idiotes, mais je suis assez néophyte!

ViPHP
ViPHP | 2577 Messages

16 déc. 2011, 12:14

Il suffit de remplacer l'extension .js du fichier javascript par .php. Et bien sur en tenir compte lors de l'appel du fichier dans le code html.
Tu peux alors générer le code js comme tu veux de manière analogue à la génération de code html. En particulier, tu peux indiquer une valeur.

Edit : Il s'agit de générer le code javascript avec du php, pas de faire dialoguer les 2.

Eléphanteau du PHP | 33 Messages

16 déc. 2011, 13:00

JE vais étudier ça, merci! :)