【PHP网页应用】MySQL数据库增删改查 基础版
使用PHP编写一个简单的网页,实现对MySQL数据库的增删改和展示操作
页面实现在index.php,其中basic.php为没有css美化的原始人版本
函数实现在database.php
目录
功能基本实现版
CSS美化版
我们来展示一下页面和操作示例。
运行网页,可以看到页面展示出了数据库的名字,还有数据库下的表。
我们点击其中一个表,可以看到表名和表的数据以及可以点击操作的按钮。
然后我们输入新的数据准备添加。
点击添加,可以看到添加成功的提示。
可以看到新添加的数据。
然后我们尝试修改数据,将visits_made改成2,点击更新。
可以看到visits_made已经变成2了。
然后我们删除这一行数据,点击删除。
可以看到我们刚刚添加的一行数据没了。
basicindex.php
数据库表名';foreach ($tableNames as $name){ echo '' . $name . '
';}if (isset($_GET['table'])) { $tableName = $_GET['table']; setPrimaryKey($tableName); if (isset($_POST['add'])) { // 添加数据 $data = $_POST; unset($data['add']); insertRecord($tableName, $data); } elseif (isset($_POST['delete'])) { // 删除数据 $id = $_POST['id']; deleteRecord($tableName, $id); } elseif (isset($_POST['update'])) { // 修改数据 $id = $_POST['id']; $data = $_POST; unset($data['update'], $data['id']); updateRecord($tableName, $id, $data); } $tableData = getTableData($tableName);} else { $tableNames = getTableNames();}?> MySQL 数据库操作 操作
index.php
alert("'.insertRecord($tableName, $data).'")'; } elseif (isset($_POST['delete'])) { // 删除数据 $key = $_POST['key']; echo ''; } elseif (isset($_POST['update'])) { // 修改数据 $key = $_POST['key']; $data = $_POST; unset($data['update'], $data['key']); echo ''; } $tableData = getTableData($tableName);}?> 数据库管理系统 Database
' . $name . ''; ?>
操作
database.php
connect_error) { //数据库连接失败弹出提示 echo ''; die(); //终止代码}function setPrimaryKey($tableName){ global $conn; global $primaryKey; $sql = "show index from $tableName"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($result); $primaryKey = $row['Column_name'];}function getTableNames(){ global $conn; $sql = "show tables"; $result = $conn->query($sql); $tableNames = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $tableNames[] = $row['Tables_in_' . $GLOBALS['database']]; } } return $tableNames;}function getTableData($tableName){ global $conn; $sql = "select*from $tableName"; $result = $conn->query($sql); $tableData = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $tableData[] = $row; } } return $tableData;}function insertRecord($tableName, $data){ global $conn; $keys = implode(', ', array_keys($data)); // 连成字符串 $values = "'" . implode("', '", array_values($data)) . "'"; $sql = "insert into $tableName ($keys) values ($values)"; $result = $conn->query($sql); if ($result == 1) return '添加成功'; else return '添加失败';}function deleteRecord($tableName, $key){ global $conn; global $primaryKey; $sql = "delete from $tableName where $primaryKey = '$key'"; $result = $conn->query($sql); if ($result == 1) return '删除成功'; else return '删除失败';}function updateRecord($tableName, $pkey, $data){ global $conn; global $primaryKey; $set = ""; foreach ($data as $key => $value) { $set .= "$key = '$value', "; } $set = rtrim($set, ', '); // 移除最后一个字符',' $sql = "update $tableName set $set where $primaryKey = '$pkey'"; $result = $conn->query($sql); if ($result == 1) return '修改成功'; else return '修改失败';}function getTableHeader($tableName){ global $conn; $sql = "describe $tableName"; $result = $conn->query($sql); $tableHeader = array(); if ($result) { while ($row = $result->fetch_assoc()) { $tableHeader[] = $row['Field']; } } return $tableHeader;}?>
代码讲解
这次写了两个php文件,一个database.php和一个index.php,database.php实现数据库连接以及增删改等等函数的实现,index.php实现网页页面以及功能逻辑。
然后连接MySQL的数据库,并在连接失败的时候弹出提示窗口。
当我们忘记打开数据库的时候就会连接失败,可以看到提示弹窗。
写一个函数来获取数据库中所有的表名,使用MySQL的show tables命令。
写一个函数用来获取表的数据,根据表名使用MySQL的select*from命令获取表的数据。
因为删掉和修改的时候需要知道和找出要删除修改哪一行的数据,所以我们需要找到一个表数据的唯一标识,所以我们写了一个函数来寻找表的主码,使用MySQL的show index。
实现数据库插入操作,将传入的表单数据中提取出属性名key和对应的属性值value,用MySQL的插入语句完成插入操作,并判断插入操作的结果是否成功,返回插入的结果。
实现数据库的删除操作,根据传入的表名和主键值用MySQL的删除语句完成删除操作,同样判断操作的结果是否成功,返回删除的结果。
实现数据库的修改操作,根据传入的表名和主键值以及修改后的表单使用MySQL的update语句完成修改操作,同样判断操作的结果是否成功,返回修改的结果。
最后是一个获取表属性名的函数,用来展示表的属性,用的是describe语句。
接下来看index.php文件。
页面展示用的是HTML内嵌php的代码,首先展示数据库中的表名,设计成可以点击的链接,通过点击可以给URL设置要展示的表。
然后是表名以及表的属性名的展示,后者通过调用我们之前写的函数取到。
然后判断这个表是否为空,不为空的话,就展示表的数据,并在右侧一栏显示修改和删除的操作,用户可以通过直接在展示的数据中修改并点击更新完成修改操作,可以通过点击删除完成删除的操作。
然后在最后一行显示添加的功能,用户可以在相应的属性上输入值并点击添加来添加数据。
还有一个逻辑判断,即通过判断用户点击了什么操作来调用相应的操作函数来处理,并通过弹出提示窗口来展示操作的结果。
来源地址:https://blog.csdn.net/weixin_62264287/article/details/134307194
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341