前言
数据库实验有个思考题挺麻烦的。。。记录一下吧
思考题:建立实验一指导书相关数据的数据库,并用一个页面显示所有的表名,即要求用户点击该表名显示出该表所有记录。并完成插入记录,删除记录以及修改记录的功能,而且数据库中信息随网页端操作而更新。
注:所有的思考题均要求网页代码和运行后的界面。注意界面设计及美观性。(简要 写一下注释以及每部分代码实现的功能)
实验1数据库结构:两张表,分别是 emp+学号,dept+学号
其中dept表表示部门,它的数据如下:
emp表表示员工,它的数据如下:
其实就是一个简单的增删改查,要注意的是表和数据字段的选择,其他的照葫芦画瓢就行了。。。不是很难
前后台结构
总的结构,分为下面这几个页面:
index表示总的表选择界面,然后tableInfo表示表的详情页,后面是三个后台,分别对应添加,删除,修改。
其中 index 给出所有的表,而点击这些表项,可以进入表的详情页 tableInfo, tableInfo 提供三种操作,分别对应三个后台。
数据库连接
创建conn.php文件以便复用连接到数据库的代码:
<?php
$hostname = "localhost";
$database = "lab1";
$username = "root";
$password = "";
$conn = mysqli_connect($hostname, $username, $password);
$db = mysqli_select_db($conn, $database);
?>
在之后的编程中,通过include引入即可复用此代码:
include("conn.php");
表选择界面
首先编写 index.php,通过两个超链接提交表名并且跳转到tableInfo详情页:
<table border="2">
<?php
include("conn.php");
$res = mysqli_query($conn, "show tables");
if(!$res) die("no tables");
echo '<tr><td>数据库lab1的数据表:</td></tr>';
$row = mysqli_num_rows($res);
for($i=0; $i<$row; $i++) {
$dbrow = mysqli_fetch_array($res);
$tableName = $dbrow[0];
$tr = '<a href="tableInfo.php?tableName=' . $tableName . '">'. $tableName . '</a>';
echo "<tr><td>" . $tr . "</td></tr>";
}
?>
</table>
<style>td {
text-align: center;}</style>
浏览器进入 index.php:
表详情页
然后编写 tableInfo 即表详情页,在此页我们查询所有记录并且打印,同时动态 地创建他们的修改删除和添加的链接:
<form action="add.php" method="GET">
<table border="2">
<?php
if(!isset($_GET["tableName"])) die("未选择数据表");
include("conn.php");
$tableName = $_GET["tableName"];
// 打印表头
$columns = array();
$res = mysqli_query($conn, "show columns from " . $tableName);
if(!$res) die(