剛接觸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>
最上層顯示就這樣啦~~~