关于PHP循环遍历数据库中表的字段并显示到前端的教程
程序员文章站
2024-01-05 18:15:28
刚接触PHP,需要做一个简单的项目。
项目背景
学校中老师或多或少的都需要统计学生的各种资料,除了像问卷星,金数据这样的第三方平台,学校内部暂时没有供自己人用的统计平台。
主...
刚接触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 '<p class="zdy zwy1">'; echo '<p>'.$table_columns[$i].'</p>'; echo '<p>'; echo '<p class="sousuo1">'; echo '<input name="tb'.$i.'" "type="text" class="biaodan-input1" placeholder="请输入你的'.$table_columns[$i].'"> <img src="assets/img/xinghao.png" alt="星号">'; echo '</p>'; echo '</p>'; echo '</p>'; $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.'">'; ?> <p class="footerj1"> <button class="btn btn-info" type="submit" >确认提交</button> </p> </form>
前端显示就这样啦~~~