在html表中设置数据库表中的某些行

时间:2017-03-10 02:16:18

标签: html css mysql

我有一个从此查询收到的html表:

SELECT proj_title, CONCAT(projectNo, " ", proj_title) AS title
FROM (
        SELECT projectNo, CONCAT("Project ", title) AS proj_title, 0 AS a FROM project p1
        UNION ALL
        SELECT DISTINCT projectNo, process, 1 AS a FROM process p2
    ) t
ORDER BY projectNo, a, title

表:

<table class="paginated" style=" margin-right:10%;">
<?php
$header ='<th>Title</th>';
echo "<thead>$header</thead>";
while ($data = mysqli_fetch_assoc($query)) 
{
        $projectNo = $data['proj_title'];


        $body = '<td>'.$projectNo.'</td>';
        echo "<tbody>$body</tbody>";

}
?>    
</table>

表格如下:

|     title       |
+-----------------+
| Project test    |
| ANM             |
| BLD             |
| Project test2   |
| ANM KEY         | 
| BLD             | 

有没有办法只设置某些行,例如:| 项目测试 || 项目测试2 |

怎么做?

1 个答案:

答案 0 :(得分:2)

是的,您当然可以使用CSS为表中的各个行设置样式。您提供的结构实际上并不包含任何表行(<tr>元素),因此您可能需要先修复它。 <tbody>不是<td>的有效孩子,<td>必须包含<tr>

修复表结构后,可以使用伪选择器:nth-of-type定位每第n行:

&#13;
&#13;
tr:nth-of-type(3n) {
  color: #f00;
}
&#13;
<table>
  <tr>
    <td>One</td>
  </tr>
  <tr>
    <td>Two</td>
  </tr>
  <tr>
    <td>Three</td>
  </tr>
  <tr>
    <td>Four</td>
  </tr>
  <tr>
    <td>Five</td>
  </tr>
  <tr>
    <td>Six</td>
  </tr>
</table>
&#13;
&#13;
&#13;

在上面的示例中,3n表示它应该以每第三行为目标,并更改颜色。

您也可以将class添加到您希望通过PHP本身定位的特定行,然后直接使用CSS定位该类:

echo "<tr class='red'><td>$data</td></tr>";

.red {
  color: #ff0;
} 

希望这有帮助! :)