PHP/MySQL et Javascript (interaction)

Fermé
nervmaster Messages postés 1 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 3 décembre 2007 - 3 déc. 2007 à 12:11
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 17 avril 2008 à 13:25
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.

4 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
3 déc. 2007 à 12:34
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
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
21 janv. 2008 à 14:21
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
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
17 avril 2008 à 13:25
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