Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variables PHP dans du CSS

CSS pas pris en compte à l'impression

    24 février 2006 à 12:52:51

    J'ai fais un formulaire qui me permet de generer des planches d'etiquettes.

    En fonction des reponses au formulaire, j'ai le CSS qui change...

                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                    <html>
                    <head>
                    <title>La Pharmacie du CHG de Firminy</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                    <style type="text/css">
                    @page
                    {
                            size: portrait;
                    }
                   
                    table
                    {
                            background-color: <?php echo $background;?>;
                            color: <?php echo $txt; ?>;
                            font_size: 1cm;
                            font-family: Comic Sans MS, Trebuchet MS, Georgia, serif;
                            text-align: center;
                            border-collapse: collapse;
                    }
                   
                    td
                    {
                            width: <?php echo $long?>cm;
                            height: <?php echo $larg?>cm;
                            border: 1px solid black
                    }
                    </style>
                   
                    </head>
                   
                    <body>
                   
                    <a href="#" onclick="javascript:window.print()">Cliquez ici pour imprimer cette page</a>
                    <br/><br/>
                    <table>


    Mon probleme c'est qu'a l'impression, celui-ci est partiellement pris en compte.
    La taille des cellules est respecté mais pas le code couleur.


    J'ai bien pensé mettre le CSS dans differents fichiers, mais le PHP n'est plus pris en compte...

    • Partager sur Facebook
    • Partager sur Twitter
      24 février 2006 à 16:09:24

      peut etre parce qu'il n'y as pas de point virgule?
      • Partager sur Facebook
      • Partager sur Twitter
        27 février 2006 à 13:28:16

        Quels point-virgules ?

        J'ai ajouté
        <style type="text/css" media="all">


        Mais ca ne change rien, toujours pas de couneur à l'impression !!!
        • Partager sur Facebook
        • Partager sur Twitter
          27 février 2006 à 13:38:12

          1. Les variables $background $txt $long et $larg ne sont pas définies
          mais peut être as tu voulu économiser la place...

          2.
          <?
          echo "$txt";
          ?>

          <? echo "$long"; ?>

          <? echo "$larg"; ?>
          • Partager sur Facebook
          • Partager sur Twitter
            28 février 2006 à 9:00:52

            Les variables étaient definis avant.

            J'ai de nouveau modifié le code, pensant que justement ca genait le CSS.
            if (isset($_POST['long']) && isset($_POST['larg']) && isset($_POST['choix']))
            {
                    if ($_POST['long'] != NULL && $_POST['larg'] != NULL && count($_POST['choix']) != NULL)
                    {
                            ?>
                            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                            <html>
                            <head>
                            <title>La Pharmacie du CHG de Firminy</title>
                            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                            <style type="text/css" media="all">
                            <?php
                           
                            $resultat = $_POST['choix'];
                            $total = count($resultat);
                           
                            $long = $_POST['long'];
                            $larg = $_POST['larg'];
                            $liste = $_POST['liste'];
                           
                            if ($liste == "L1")
                            {
                                    ?>

                                    table
                                    {
                                            background-color: red;
                                            color: white;
                                            font_size: 1cm;
                                            font-family: Comic Sans MS, Trebuchet MS, Georgia, serif;
                                            text-align: center;
                                            border-collapse: collapse;
                                    }
                                    td
                                    {
                                            background-color: red;
                                            width: <?php echo $long?>cm;
                                            height: <?php echo $larg?>cm;
                                            border: 1px solid black;
                                    }
                                    <?php
                            }
                           
                            elseif  ($liste == "L2")
                            {
                                    ?>

                                    <style type="text/css">
                                    table
                                    {
                                            background-color: green;
                                            color: white;
                                            font_size: 1cm;
                                            font-family: Comic Sans MS, Trebuchet MS, Georgia, serif;
                                            text-align: center;
                                            border-collapse: collapse;
                                    }
                                    <?php
                            }
                           
                            elseif  ($liste == "HL")
                            {
                                    ?>

                                    <style type="text/css">
                                    table
                                    {
                                            background-color: white;
                                            color: black;
                                            font_size: 1cm;
                                            font-family: Comic Sans MS, Trebuchet MS, Georgia, serif;
                                            text-align: center;
                                            border-collapse: collapse;
                                    }
                                    <?php
                            }
                            ?>

                            @page
                            {
                                    size:portrait;
                            }
                            td
                            {
                                    width: <?php echo $long?>cm;
                                    height: <?php echo $larg?>cm;
                                    border: 1px solid black;
                            }
                            </style>
                           
                            </head>
                           
                            <body>
                           
                            <a href="#" onclick="javascript:window.print()">Cliquez ici pour imprimer cette page</a>
                            <br/><br/>
                            <table>


            Mais toujours le meme resultat!!!
            • Partager sur Facebook
            • Partager sur Twitter
              1 mars 2006 à 15:01:44

              Apparement, y'a pas de solutions

              Extrait du site: http://openweb.eu.org/articles/css_impression/

              Citation : Openweb.eu.org

              Couleurs
              Arrière-plans

              * pour spécifier un arrière-plan blanc, utilisez la propriété : background-color: #ffffff; ;
              * pour spécifier un arrière-plan sans image de fond, utilisez la propriété : background-image: none; ;
              * note : la plupart des navigateurs conformes aux standards gèrent eux-même correctement la suppression des arrières-plans de page à l'impression. Ces règles ne sont donc à employer que dans des cas particuliers ;
              * pour en savoir plus sur les styles d'arrière-plan.



              Meme reponse sur ce forum http://forum.alsacreations.com/topic.php?fid=4&tid=2611&s=impression, l'impression du fond de page se configure seulement dans le navigateur et impossible de le forcer dans le CSS.
              • Partager sur Facebook
              • Partager sur Twitter

              Variables PHP dans du CSS

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown