Page 1 sur 1

Valeurs css depuis table mysql

Posté : 26 nov. 2014, 17:36
par Couin
Hello All :)

Voilà, j'ai une table d'utilisateurs qui me permet de configurer si ils sont actifs ou non, listables ou non, leur rang d'accès.
Je voudrais y stocker des informations leur permettant de customizer les couleurs par exemple, de l'interface graphique.
Pour faire l'essai , j'ai ajotué une colonne "background" et j'ai mis par exemple sur l'utilisateur 1, la valeur #000000 .

Dans le css, j'ai mis le code suivant :
<?php  $sql = "SELECT * FROM trs_users WHERE user_id = '1'";
	$sql = mysql_query($sql) ;
	$donnees = mysql_fetch_array($sql); ?>
	
	
body {
 background-color: <php? $donnees['background']; ?>; 
 font-family: Verdana, sans-serif; 
 font-size: 100%;
 }
Evidement, vu que notepad ne donnait pas les couleurs habituelles de textes par rapport à ce que j'écrivais, je me suis dis que ca ne marcherait pas. Et effectivement, ca ne marche pas. Le fond de page reste blanc alors qu'il aurait dû être noir dans l'exemple.

La problèmatique c'est que je ne sais pas si c'est faisalbe, ni comment, malgré avoir quand meme fait un essai ...

Si quelqu'un a une idée :oops:

M'ciiiii :D
Le Couin

Re: Valeurs css depuis table mysql

Posté : 26 nov. 2014, 22:50
par Nestecha
Y'a plusieurs façons de faire.

La plus simple étant de changer le style directement dans ta page .php, en y introduisant du code php. Tu ne peux pas exécuter du code php dans un .css puisqu'il est téléchargé et lu en local, aucune correspondance avec le serveur donc.

Donc pour cette solution simple (mais pas top si tu veux faire de multiples changements dans ton css), il te suffit de chopper les infos dans ton index, puis d'écrire quelque chose comme :
<body style="background:<?php $donnees['background'] ?>;">
Une autre solution, plus complexe, consiste à créer un éditeur de CSS soi même. Pour cela il te faudra d'abord crée une chaîne de caractère correspondant exactement à ce que tu veux en CSS, puis avec fopen, fwrite et fclose tu pourras créer un .css qui sera lu directement par l'utilisateur.

Re: Valeurs css depuis table mysql

Posté : 29 nov. 2014, 16:19
par Couin
Hello :)

J'ai testé en mettant le background color avec l'appel php, dans le header directement (vu qu'il revient à chaque page, je fais donc la modif qu'une fois), cela fonctionne en effet. En revanche ,j'ai tenté de faire pareil avec les couleurs de table (tr.headtable etc etc), cela n' pas fonctionné.

Je verrais alors pour faire autrement, à savoir plutot que des couleurs personnalisables par l'utilisateur, ce seront des jeux de couleurs prédéfinis et ca fera appel à des fichiers css différents, correspondant chacun a un jeu de couleurs.

M'ci et bon OuiK :)