IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Css Dynamique : Changer le fond d'une div.


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut Css Dynamique : Changer le fond d'une div.
    Bonjour,

    Je post sur le forum après avoir fait quelques recherche sur Google et autres.
    Cela fait 2 jours que je cherche à résoudre le problème que voici :

    Ma page d'accueil ce compose pour les news de 3 div. 1 des div contient une image de fond qui fait office de bannière.
    Mon idée c'est de rendre cette image de fond dynamique et de permetre à l'admin de la changer grace à une interface plutot que par un notepad.
    Dans ma BDD j'ai donc défini une table News avec un champ Lienimage qui contient le lien de l'image.
    J'ai trouvé comment rendre ma page CSS en la transformant simplement en page php et en mettant en entete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php header("Content-type: text/css");
    Ensuite j'ai fais un simple fetch Array et j'ai mis l'url dans une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	$result= mysql_query('SELECT imagenewsr 
    FROM nradio
    WHERE idnewsr = ( 
    SELECT MAX( idnewsr ) 
    FROM nradio )');
     
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
       $imagelink=($row[0]);
    }
     
    mysql_free_result($result);
    ?>
    cependant ensuite je ne trouve pas comment l'implanter dans mon css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	background-image: url();
    j'ai bien essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	background-image:url(<?=$imagelien?>);
    mais le fond reste définitvement blanc...
    Ce n'est pas fondamentale pour le projet, mais j'aimerais vraiment avoir la réponse à mon problème, même si cela est impossible j'aimerais en être certains
    Merci à vous !

    P.S : Pardon pour le premier post du message qui était incomplet et pour la demande de delestage que je n'arrive pas à annuler... Tout cela du à une fausse manip...

  2. #2
    Membre expérimenté

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Par défaut
    Si ton div a une classe, tu peux en CSS utiliser

    .nomdeclasse {background-color : codecouleur}
    ou
    div.nomdeclasse

    Si c'est un id c'est pareil avec #ton_id

    si ton div est dans un autre élément, c'est pareil mais avec la référence de l'autre élément devant dans le sélecteur.

    Et si tu veux modifier via javascript un div qui a un id, c'est
    document.getElementById("ton_id").style.background-color = "codecouleur"

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    Merci de ta réponse, cependant ce n'est pas tout à fait ce que je demande.
    Voici le code du div en entier déjà entré dans mon css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    div#nwrimg {
    								width:585px;
    								height:90px;
    								left:6px;
    								top:60px;
    								position:absolute;
    								background-image: url(); 
    }

    Quand à ce que tu ma donné en java, j'ai déja utilisé ce code pour aggrandir et bouger mon div au passage de la souris dessus. Mais ce n'est pas utile dans un cas comme celui la du moins je ne crois pas.
    Merci encore en tout cas !

  4. #4
    Membre expérimenté

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Par défaut
    j'avais répondu à ton message partiel... une fois lu le complet, je vois mieux le problème.

    Ta syntaxe devrait fonctionner à condition de mettre $imagelink, et pas $imagelien comme dans ton message (la variable ne s'appelle pas comme ça). J'ajouterais pour ma part des espaces mais ça ne devrait pas influer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-image:url(<?= $imagelink ?>);
    ensuite, je m'interroge dans la ligne où tu définis $imagelink, sur l'usage des ()

    si ton CSS généré n'est pas bon avec le code CSS que je te donne, enlève les () autour de $row[0]

    et si ça ne marche toujours pas, ne nous copie pas seulement le source php du CSS, mais visualise également le fichier dans ton navigateur comme une page web classique, et va voir le source généré pour nous le copier aussi.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    Merci de ton aide, mais je vien de me recevoir l'aide qu'il me faillait.
    La réponse est simple, il fallait simplement ne pas oublier de echo la variable.

    Voila la solution qui est donc au final très simple :

    pour le div css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    div#nwrimg {
    								width:585px;
    								height:90px;
    								left:6px;
    								top:60px;
    								position:absolute;
    								background-image:url(<?php echo $imagelink ?> );
    }

    pour le php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php header("Content-type: text/css"); 
     
    	$serveur = 'localhost';
    	$utilisateur = 'BOURDON';
    	$motdepasse = 'tournament';
    	$base = 'radiodls';
    	mysql_connect($serveur,$utilisateur,$motdepasse) or die ("erreur de connexion serveur");
    	mysql_select_db($base) or die ("erreur de connexion base");
     
    $result= mysql_query('SELECT imagenewsr 
    FROM nradio
    WHERE idnewsr = ( 
    SELECT MAX( idnewsr ) 
    FROM nradio )');
     
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
       $imagelink=($row[0]);
    }
    mysql_free_result($result);?>
    Merci en tout cas !

  6. #6
    Membre expérimenté

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Par défaut
    "echo" fonctionne, c'est clair, mais <?= doit fonctionner aussi normalement (pour autant que ce type de balises soit autorisé dans le fichier de configuration de PHP).

    Heureux en tout cas que tu aies trouvé une solution qui fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. couleur de fond d'une div apparait a moitié
    Par akara dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/11/2010, 17h14
  2. [Debutant] changer des images dans une div par une fonction javascript
    Par raul_le_vieux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2007, 09h35
  3. [CSS] z-index et border d'une div ?!
    Par highman dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 07/06/2007, 12h08
  4. Rollower sur l'image de fond d'une Div
    Par Galaad dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/09/2006, 21h20
  5. [CSS] - notion placer en arrière-plan une div?
    Par 10-nice dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/08/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo