刚接触PHP,需要做一个简单的项目。 项目背景 学校中老师或多或少的都需要统计学生的各种资料,除了像问卷星,金数据这样的第三方平台,学校内部暂时没有供自己人用的统计平台。 主要功能如下: 1. 老师根据自己需要统计的信息创建表单。 2. 学生填写表单,在表单中限制每个学生只允许有一条数据,如果填写错误,以最后一次提交数据为准。 3. 学生填写必须实名,本系统会调用易班接口,获取学生的实名信息。 4. 老师在后台可以导出学生填写的表单内容。 其中我写了2、3,4.
功能2的核心部分为,循环遍历数据库中表的所有字段并显示到前端。
1
2
3
4
5
6
7
8
9
|
$servername = "localhost";
$username = "root";
$password = "xxxxxx";
$con = mysql_connect($servername, $username, $password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("yibiao", $con);
|
1
2
3
4
5
6
7
|
$tid = $_GET["tid"];
$sql = "SELECT `name` FROM `tablename` where id=".$tid;//查询id
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$table_name = $row['name'];
}
|
1
2
3
4
5
6
7
8
9
10
|
$sql_tbcolumns = "SHOW FULL COLUMNS FROM $table_name";//显示数组结构
$recolumns = mysql_query($sql_tbcolumns);
$table_columns = array();//将表中的字段存放到table_columns中
while($row1 = mysql_fetch_array($recolumns))
{
array_push($table_columns,$row1['Field']);
}
//读取数组长度,方便后面输出
$columns_count = count($table_columns);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<!-- Form表单提交 -->
<form action="value.php" method="get">
<?php
$i = 0;
while($i<$columns_count){
echo '<div class="zdy zwy1">';
echo '<p>'.$table_columns[$i].'</p>';
echo '<p>';
echo '<div class="sousuo1">';
echo '<input name="tb'.$i.'" "type="text" class="biaodan-input1" placeholder="请输入你的'.$table_columns[$i].'">
<img src="assets/img/xinghao.png" alt="星号">';
echo '</div>';
echo '</p>';
echo '</div>';
$i++;
}
?>
<!-- 隐藏域 将字段总数(columns_count) 表名(table_name) 用户真实姓名(user_e_realname)传到value.php -->
<?php
echo '<input name="columns_count" type="hidden" value="'.$columns_count.'">';
echo '<input name="table_name" type="hidden" value="'.$table_name.'">';
echo '<input name="user_e_realname" type="hidden" value="'.$user_e_realname.'">';
?>
<div class="footerj1">
<button class="btn btn-info" type="submit" >确认提交</button>
</div>
</form>
|
前端显示就这样啦~~~