PHP/MySQL et Javascript (interaction)

nervmaster Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai ajouté à mon site en PHP (avec CMS) un javascriptsur les articles permettant d'afficher une palette de couleurs sélectionnable.
Ce module est composé d'un fichier JS, d'un CSS et d'un script pour appeler tout ça sur la page HTML ou PHP. Afin de pouvoir éditer les couleurs présentes sur la palette, (pour l'instant elle sont contenues dans le JS) j'aimerais que le javascript appelle les couleurs depuis la bdd (elles seront donc éditables via mon CMS). Et si je sais intégrer un javascript dans une page PHP, je ne vois pas comment faire l'inverse. J'ai d'abord penser créer une page PHP avec tout le JS et par moment des appels à la bdd en PHP, mais je pense qu'il y a plus propre.

Voici le JS (en partie) de la palette de couleurs :

StringBuilder = function()
{
 this.arrStr = new Array();
 this.Append = function( inVAL )
 {
  this.arrStr[this.arrStr.length] = inVAL;
 }
 this.toString = function()
 {
  return this.arrStr.join('');
 }
 this.Init = function()
 {
  this.arrStr = null;
  this.arrStr = new Array();
 }
}

var objSB = new StringBuilder();

var arrGray = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
var arrSafe = new Array('00','33','66','99','CC','FF');
var arrSys = [['D4D0C8', 'ActiveBorder'],['0A246A', 'ActiveCaption'],['808080', 'AppWorkspace'],['3A6EA5', 'Background'],['D4D0C8', 'ButtonFace'],['FFFFFF', 'ButtonHighlight'],['808080', 'ButtonShadow'],['000000', 'ButtonText'],['FFFFFF', 'CaptionText'],['808080', 'GrayText'],['0A246A', 'Highlight'],['FFFFFF', 'HighlightText'],['D4D0C8', 'InactiveBorder'],['0A246A', 'InactiveCaption'],['D4D0C8', 'InactiveCaptionText'],['FFFFE1', 'InfoBackground'],['000000', 'InfoText'],['D4D0C8', 'Menu'],['000000', 'MenuText'],['D4D0C8', 'Scrollbar'],['404040', 'ThreedDarkShadow'],['D4D0C8', 'ThreedFace'],['FFFFFF', 'ThreedHighlight'],['D4D0C8', 'ThreedLightShadow'],['808080', 'ThreedShadow'],['FFFFFF', 'Window'],['000000', 'WindowFrame'],['000000', 'WindowText']];
...etc...


Ce qui m'intéresse c'est donc que la liste de couleurs en HTML ci-dessus soit remplacée par des variables.

Merci de m'éclairer sur la marche à suivre.
Cordialement.
A voir également:

4 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

La seule solution est d'utiliser de l'AJAX.
C'est en fait l'utilisation de l'objet xmlHttpRequest, qui permet, en JavaScript, de faire appel à une page php.

Fais une recherche sur cet objet, tu trouveras beaucoup d'exemples sur son utilisation.

Vu ce que tu cherches à faire, le plus simple est de créer une page choixCouleur.php qui renvoie un fichier xml du genre
<couleurs>
<couleur code="FFFFFF" nom="Window" />
<couleur code="808080" nom="ThreedShadow" />
<couleur code="D4D0C8" nom="Scrollbar" />
<!-- etc. -->
</couleurs>

Ensuite, le JavaScript récupère ça, et utilise la fonction getElementByTagsName("couleur") qui donne un tableau des couleurs.

Voilà, bonne chance !

Xavier
0
le23arago
 
Salut,
Désolé de t'importuner mais je commence à peine la personnalisation d'un blog.
Je voudrais changer les couleurs prédéfinies et je lis "color:#92AF6D;" ou"color:#EE9503" dans mon script.
Saurais-tu ou trouver la liste des couleurs et des codes correspondants ?
Merci d'avance


"Le PC fou de l'amazonie"

Gil en Guyanne
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Ces codes couleurs sont écrits en hexadécimal, et traduisent un encodage RVB des couleurs.
Deux chiffres correspondent à un octet et à une composante de couleur.
Donc dans 92AF6D, il faut lire :
92 = composante de rouge
AF = composante de vert
6D = composante de bleu

On a donc pas mal de vert, un peu moins de rouge et encore moins de bleu.
Ca doit être une sorte de jaune...

Mais si tu recherches couleur html code hexa sur google, tu trouveras tout ce que tu veux.
0
sumbang
 
bonjour,je veux mettre sur pied une application de tchat,je suis déja arrivé a récupérer les messages envoyés dans la base de donné, mais je ne sais comment faire pour informer instantanément le destinateur qu'il a reçu un message.
svp j'ai besoin de votre aide
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Tu peux utiliser de l'Ajax : ce ne sera pas instantané, mais par exemple, tu peux envoyer une requête à ton serveur toutes les 5 secondes pour savoir s'il y a des messages (et si oui, de les afficher).

Par contre, cette méthode ne tiendra vraisemblablement pas la charge si tu as un petit serveur et 1000 personnes qui chattent en même temps...

Xavier
0