頻道欄目
首頁 > 資訊 > php > 正文

關于PHP循環遍歷數據庫中表的字段并顯示到前端的教程

17-12-21        來源:[db:作者]  
收藏   我要投稿

剛接觸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>

前端顯示就這樣啦~~~

就醬紫啦

相關TAG標簽
上一篇:臺積電:絕大多數7nm客戶都會轉向6nm_IT新聞_博客園
下一篇:最后一頁
相關文章
圖文推薦

關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

美女MM131爽爽爽毛片