我是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_id
,student_name
,student_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函数。提前谢谢。
答案 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();
以上的实际行。