0

如何附加外部 CSS 文件以显示从 MySQL 数据库获取的数据?我可以使用 CSS 而不是使用表格来显示数据吗?我想完全避免在显示获取的数据时使用表格。

这是从 MySQL 数据库中获取数据的代码:

<?php
echo "Database Date: " .date("Y-m-d");
?>

该数据中包含的变量是:指定的 NCL 编号、医院、年龄、性别、原发性癌症以及患者的诊断日期和最新治疗。

<style type="text/css">
  table.data { width:100%;  margin: 0;
      border: 1px solid black; border-spacing: 2px; }
  .id {width: 7%; background-color: #c7c7c0; }
  .date {width: 12%; background-color: #d8d8d1; }
  .nclnumber { width: 10%; background-color: #c7c7c0; }
  .hospital {width: 17%; background-color: #d8d8d1; }
  .age { width: 3%; background-color: #c7c7c0; }
  .sex { width: 2%; background-color: #d8d8d1; }
  .cancer { width: 10%; background-color: #d8d8d1; }
  .dateofdiagnosis { width: 7%; background-color: #d8d8d1; }
  .notes { width: 32%; background-color: #d8d8d1; }  
</style> 

<table class="data" border="0" cellspacing="2">
  <tr>
    <td class="id"><b>Id</b></td>
    <td class="date"><b>Date</b></td>
    <td class="nclnumber"><b>NCL Number</b></td>
    <td class="hospital"><b>Hospital</b></td>
    <td class="age"><b>Age</b></td>
    <td class="sex"><b>Sex</b></td>
    <td class="cancer"><b>Diagnosed Cancer</b></td>
    <td class="dateofdiagnosis"><b>Date of Diagnosis</b></td>
    <td class="notes"><b>Notes</b></td>
   </tr>
 </table>


<?php
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
 mysql_select_db("cancer") or die(mysql_error()); 
 $data = mysql_query("SELECT * FROM cancer WHERE Age ='1'OR Age = '2' OR Age = '3'OR Age = '4'OR Age = '5'OR Age = '6'OR Age = '7'OR Age = '8'OR Age = '9'")  
 or die(mysql_error()); 


while($info = mysql_fetch_array( $data )) {
  echo "<table class='data' border='0' cellspacing='2'>
          <tr>
            <td class='id'>".$info['Id']."</td>
            <td class='date'>".$info['Date']."</td>
            <td class='nclnumber'>".$info['NCL_Number']."</td>
            <td class='hospital'>".$info['Hospital']."</td>
            <td class='age'>".$info['Age']."</td>
            <td class='sex'>".$info['Sex']."</td>
            <td class='cancer'>".$info['Diagnosed_Cancer']."</td>
            <td class='dateofdiagnosis'>".$info['Date_of_Diagnosis']."</td>
            <td class='notes'>".$info['Notes']."</td>
          </tr>
        </table>";
  }
?>
4

2 回答 2

6

绝对没有理由不对<table>表格数据使用元素。

有些人的反表格歇斯底里只是一种误解:滥用表格进行布局是不好的。不过,HTML 标记没有任何问题。事实上,使用任何其他 HTML 元素来显示表格数据对语义都是不利的。

<table>标签及其包含的行<tr><td>列通知呈现它的浏览器其中的数据是相关的和列式的。不要将<table>(或任何与此相关的 HTML 标记)视为严格的视觉显示元素。它们将有关数据的含义传达给正在解析它的机器。

于 2013-03-01T17:15:55.823 回答
1

让我们解决一些困惑。显示 inCSS而不是,tables因为 astables及其关联的标签是 HTML 元素,并且CSS是可以应用于这些元素的样式。它们不是等价的。

表格的替代方案是使用 和 的组合创建一个复杂、复杂和令人费解的divs布局spans

但是,如果数据是表格的,那么绝对没有理由为了避免使用<table>标签而为这种尴尬的设计而烦恼。这就是<table>标签在 HTML 规范中的原因。

出于布局目的滥用<table>标签给标签带来了不好的声誉。但是,如果使用得当(即显示表格数据),它会非常有用。

最佳建议:使用<table>标签并遵循社区 wiki 的建议。

于 2013-03-01T17:23:51.730 回答