php中的样式代码

时间:2012-12-07 06:23:36

标签: php html mysql css styles

我在设置我从数据库中提取的信息时遇到了麻烦。如果有人可以提供帮助,我会非常感激。我尝试在while循环中定义$ style,然后为它分配$ questions,但网页上没有任何反应。我是一般的编码新手,虽然我对css有一些了解,但我不知道你是如何在php脚本中使用它的。

我试图将每个问题放在后面的背景样式*

#frm1
        {
            background: #D9D9D9;
            margin:auto;
            top:150px; left:200px; width:880px; height:60px;
            position:absolute;
            font-family: "Comic Sans MS", cursive, sans-serif;
            font-size: 9px;
            font-style: italic;
            line-height: 24px;
            font-weight: bold;
            text-decoration: none;
            -webkit-border-radius: 10px;
            -moz-border-radius: 10px;
            border-radius: 10px;
            padding:10px;
            border: 1px solid #999;
            border: inset 1px solid #333;
            -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
            -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
            box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.7);
         }

从数据库中检索信息的PHP代码*

if (mysql_num_rows($result) >= 0)
    {
        $toggle = false;
        while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 ) 
             {
                        $i++;
                        $toggle = !$toggle;
                        if($toggle)
                        $style = "id:frm1;";
                        else
                        $style = "background: white;";

                        questions .= "<a style='$style'> </a>";
                        questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
                        questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br>  ";
                        questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
                    }
                    echo  questions;
                } 

6 个答案:

答案 0 :(得分:1)

  

虽然我对css有一些了解,但我不知道你是如何使用它的   php脚本。

好。

您的PHP脚本是服务器上的PHP脚本,并为用户生成常规HTML页面。 [见答案的底部,我会试着给你一个快速的概述]

您可以像使用普通HTML页面一样使用CSS,尽管受PHP支持,它仍可以正常使用。

这意味着不要使用style =“$ style”。样式属性不好。

由于您希望有条件地构建CSS,我的建议是:

  • 使用PHP更改类,并使用外部样式表作用于该类
  • 将标题中有条件更改的样式放在标题中的<style>标记内,然后使用PHP更改这些样式。

此答案将使用第一个选项 (编辑考虑新信息)

在您的PHP代码中,在您的链接之前:

if($toggle) {
    $questions.='<div id="frm1">';
}
else {
    $questions.='<div id="frm2">';
}

在您的PHP代码中,链接后:

 $questions .= "</div>";

最后,在您的外部样式表或您的头部<style>标签中:

#frm1 {
   ...
}
#frm2 {
   ...
}



服务器端语言的快速概述

所以,网络编程。这通常以两种方式完成。 客户端(读取:javascript)和服务器端(在您的情况下,请阅读:php,但还有更多内容)。

使用像javascript这样的客户端语言,代码实际上会被发送到Web浏览器。然后,Web浏览器根据脚本所说的内容修改页面内容。这意味着您的用户可以查看代码,甚至可以在其Web浏览器中将其关闭或在其位置执行其他JavaScript。

使用服务器端语言,有一个不同的工作流程。

  1. 用户要求您的网页(由其网址标识)
  2. 网络服务器(读取:您的网站托管)收到此请求,并查找网页是什么
  3. 发现网页是一个php页面,服务器执行php代码
  4. php代码为服务器提供了一个html页面(你已经构建了,你可以看到,你的php脚本输出HTML)
  5. 服务器将生成的html代码发送给用户
  6. 请注意,Web浏览器是执行HTML和CSS所有处理的组件,从不会看到php。当你的php脚本到达你的用户时,它只是一个html页面。

    由于Web浏览器只能看到HTML页面,因此在PHP脚本上使用CSS和在常规HTML页面上使用CSS之间没有功能差异。

答案 1 :(得分:0)

这将有效:

if (mysql_num_rows($result) >= 0) {
    $toggle = false;
    while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 ) {
        $i++;
        $toggle = !$toggle;
        if($toggle)
        $style = "background: #D9D9D9;"; else
        $style = "background: green;";

        questions .= "<a href='#' style='display:block;$style'> </a>";
        questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
        questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br>  ";
        questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
    }
    echo  questions;
}

问题是你的a-tag没有href属性,因为它显示为内联(默认行为),后台CSS属性将不起作用。

答案 2 :(得分:0)

而不是样式,构建类并在css中定义它们。

if ($toggle)
     $questionClass="redBackground";
else
     $questionClass="greenBackground";
$questions.="<a class='$questionClass'>";

另外,一定要看看mysqli或pdo。 mysql_函数已被弃用,并不是很酷!

答案 3 :(得分:0)

你可以做 -

if (mysql_num_rows($result) >= 0)
{
    $toggle = false;
    while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 ) 
         {
                    $i++;
                    $toggle = !$toggle;
                    if($toggle)
                      $style = "bg";
                    else
                      $style = "bg_green";
                    echo("<a class='".$style."'> </a>");
                    echo("Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ");
                    echo("Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br>  ");
                    echo("Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ");


          } 

在此文件中添加 -

<style type="text/css">
    .bg {
         background: #D9D9D9;
      }
      .bg_green {
         background: green;
      }
</style>

答案 4 :(得分:0)

您可以使用$i在计数器$i % 2上进行切换,以在两个CSS类之间切换。这将为您提供0, 1, 0, 1, 0, 1, ...,因此依次选择第一个和第二个CSS类名称。

PHP:

$css_class = array('frm1', 'second');
while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 )
{
    $i++;
    questions .= "<a class='$css_classes[$i % 2]'> </a>";
    questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
    questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br>  ";
    questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
}

并在CSS文件中定义两个类

.frm1 {
    background: #D9D9D9;
    margin:auto;
    top:150px; left:200px; width:880px; height:60px;
    position:absolute;
    ...
}

.second {
    background: white;
}

答案 5 :(得分:0)

正如本说使用课。

首先创建一个类

<style>
.gray{background: #D9D9D9;}
.green{background: green;}
</style>

然后试试这个

if (mysql_num_rows($result) >= 0)
    {
        $toggle = false;
        while ($rows = mysql_fetch_array($result, MYSQL_ASSOC) and $i<10 ) 
             {
                        $i++;
                        $toggle = !$toggle;
                        $style = ($toggle)?"green":"gray";

                        $questions .= "<a class='".$style."'> Put some thing here </a>";
                        $questions .= "Titlee: " ."<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['title'] . "</a> <br> ";
                        $questions .= "Details: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['detail'] . "</a> <br>  ";
                        $questions .= "Category: " . "<a href='show_question2.php?question_id=" . $rows["question_id"] . "'>". $rows['categories'] . "</a> <br> <br> <br> ";
                    }
                    echo  $questions;
    }

请尝试一下,我没有经过测试,但根据您的需要它应该可以使用。