我在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>
请帮我解释一下代码无效。
答案 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
}
?>