[RESOLU] Valeurs css depuis table mysql

Avatar du membre
Eléphant du PHP | 224 Messages

26 nov. 2014, 17:36

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
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Nestecha
Invité n'ayant pas de compte PHPfrance

26 nov. 2014, 22:50

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.

Avatar du membre
Eléphant du PHP | 224 Messages

29 nov. 2014, 16:19

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 :)
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen: