在php

时间:2016-10-10 13:10:19

标签: javascript php html mysql css

我在MySQL中有一个使用Php的数据库。我拿它并以表格形式显示。

我试图用两种条件突出显示具有特定颜色的数据:

条件1 : - 年龄大于24岁(颜色为#FF7676)红色

条件2: - 年龄小于20岁(颜色为#F8FF00)黄色

但是当我的所有数据都是黄色时

<html>
<head>
    <title>DataBase of Age</title>
    <link rel="stylesheet" href="bootstrap-3.3.1-dist/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="bootstrap-3.3.1-dist/dist/css/bootstrap-theme.min.css">
    <script src="bootstrap-3.3.1-dist/dist/js/bootstrap.min.js">
    </script>
    <style>
        .grater
        {
            background-color:#FF7676;
        }
        .small
        {
            background-color:#F8FF00;
        }
    </style>
</head>
<body>
    <table class="table">
        <tr>
            <td>#</td>
            <td>Name</td>
            <td>Age</td>
            <td>City</td>
            <td>Post</td>
            <td>Salary</td>
        </tr>
        <?php
        $connection=mysqli_connect('localhost','root','','db_employee') or die(mysqli_connect_error());
        echo"DataBase Connection Establish Successfully...!!!";
        $q=mysqli_query($connection,'select * from tbl_information');
        echo"Total number of record found are:-".mysqli_num_rows($q);
        $age=1;
        while($table=mysqli_fetch_assoc($q))
        {
            extract($table);
            $class=null;
            if($age>24)
            {
                $class='grater';
            }
            if($age<20)
            {
                $class='small';
            }
            $age++;
        ?>
        <tr class="<?=$class?>">
            <td><?=$emp_id?></td>
            <td><?=$emp_name?></td>
            <td><?=$emp_age?></td>
            <td><?=$emp_city?></td>
            <td><?=$emp_post?></td>
            <td><?=$emp_salary?></td>
        </tr>
        <?php
        }
        ?>
    </table>
</body>

请帮我解释一下代码无效。

2 个答案:

答案 0 :(得分:0)

if($age>24)
{
   $class='grater';
}
if($age<20)
{
   $class='small';
}

将是

if($emp_age>24)
{
   $class='grater';
}
else if($emp_age<20)
{
  $class='small';
}

答案 1 :(得分:0)

解释和解决方案

说明:您需要根据要在循环中打印的变量名来检查条件。

您正在打印$emp_age并根据$age检查条件,这似乎是您所犯的错误。

注意:为什么最后需要$age++。这可以删除。

如果和其他足够,则无需再次使用else检查。

循环应如下所示。

if($emp_age>24)
{
   $class='grater';
}
else
{
  $class='small';
}

你的while循环将如下所示。

<强>解决方案:

while($table=mysqli_fetch_assoc($q))
{
   extract($table);
   $class=null;
   if($emp_age>24)
   {
     $class='grater';
   }
   else
   {
     $class='small';
   }            
   ?>
   <tr class="<?=$class?>">
     <td><?=$emp_id?></td>
     <td><?=$emp_name?></td>
     <td><?=$emp_age?></td>
     <td><?=$emp_city?></td>
     <td><?=$emp_post?></td>
     <td><?=$emp_salary?></td>
    </tr>
    <?php
    }
    ?>