使用带有自定义列标题的PHP 5+动态显示HTML表格中的MySQL数据

时间:2014-03-13 07:32:15

标签: php mysql mysqli

我是PHP的新手。我在MySQL表中有大约20列。我想让用户选择他们想要查看的列,这样我就可以通过复选框点击它们并将所选列收集到一个数组中。不知何故,我设法构建了查询。但问题是我有自定义列标题。例如,如果MySQL表中的列名是student_name,我想将其显示为"学生姓名" (没有引号)。除此之外,我想只显示用户选择的那些列。

例如,我有这个MySQL表:学生

<table>
<tr><td>student_id</td><td>student_name</td><td>student_roll_no</td></tr>
<tr><td>1 </td><td>           Mr.Red    </td><td>     17</td></tr>
<tr><td>2  </td><td>          Mr.Green  </td><td>     20  </td></tr>    
<tr><td>3  </td><td>          Mr.Orange  </td><td>    21</td></tr>
<tr><td>4   </td><td>         Mr.Red     </td><td>    22</td></tr>
</table>

然后,用户可以使用给定的复选框选择任何列student_idstudent_namestudent_roll_no(其中一个,两个或全部)。

然后我构建一个像

这样的查询
Select student_id, student_name from student where student_name='Mr.Red';

运行查询时,我希望显示如下结果:

<table>
<tr><th>Student ID </th><th>     Student Name</th><tr>
 <tr><td>   1   </td><td>           Mr.Red</td><tr>
 <tr><td>   4     </td><td>         Mr.Red</td><tr>
</table>

我怎样才能做到这一点?

请注意,我想使用改进的MySQL函数。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你应该看看mysqli_fetch_fields

基本上,示例#1显示了为实现所需结果所需执行的操作:

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

    /* Get field information for all columns */
    $finfo = $result->fetch_fields();

    foreach ($finfo as $val) {
        printf("Name:     %s\n", $val->name);
        /* [...] */
    }
    $result->close();
}

您必须为表格标题混合使用适当的HTML代码。并插入循环以输出$result->close();以上的实际行。