剛接觸PHP,需要做一個簡單的項目。
項目背景
學校中老師或多或少的都需要統計學生的各種資料,除了像問卷星,金數據這樣的第三方平台,學校內部暫時沒有供自己人用的統計平台。
主要功能如下:
1. 老師根據自己需要統計的信息創建表單。
2. 學生填寫表單,在表單中限制每個學生只允許有一條數據,如果填寫錯誤,以最后一次提交數據為准。
3. 學生填寫必須實名,本系統會調用易班接口,獲取學生的實名信息。
4. 老師在后台可以導出學生填寫的表單內容。
其中我寫了2、3,4.
功能2的核心部分為,循環遍歷數據庫中表的所有字段並顯示到前端。
- 數據庫鏈接。
$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);
- 通過表id獲取表名
$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'];
}
- 查詢表結構並將字段保存到數組中
$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);
- 將表中的字段顯示到前端,用get提交
<!-- 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>
前端顯示就這樣啦~~~