前言
在php連接MySQL數據庫進行增刪改查中。我們建了MySQL的data數據庫,在數據庫創建了news表。並且利用php進行了連接,我們將在此基礎上進行更進一步的應用。
一、模塊
1.1 包含文件
由於所有的操作都要連接數據庫,將連接數據庫的代碼放到包含文件中。
步驟:
-
在站點下創建inc文件夾:
在www文件夾下創建文件夾inc:
-
在inc下創建conn.php文件,用來連接數據庫。
連接數據庫:
<?php
$link=mysqli_connect('localhost', 'root', '123456', 'data') or die('錯誤: '.mysqli_connect_error());
mysqli_set_charset($link, 'utf8');
?>
二、數據操作
2.1 顯示數據
步驟:
- 連接數據庫
- 獲取數據
- 遍歷循環數據
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
width: 780px;
border: 1px solid #000;
margin: auto;
}
th,td {
border: 1px solid #000;
}
</style>
</head>
<body>
<?php
// 1、連接數據庫
require './inc/conn.php';
// 2、獲取數據
$resultSets=mysqli_query($link, 'select * from news'); # 返回結果集對象
$list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
// print_r($list); # 將結果匹配成關聯數組
?>
<a href="./add.php">添加新聞</a>
<table>
<tr>
<th>id</th><th>姓名</th><th>掌握技能</th><th>時間</th><th>修改</th><th>刪除</th>
<?php foreach($list as $rows):?>
<tr>
<td><?php echo $rows['id']; ?></td>
<td><?php echo $rows['title']; ?></td>
<td><?php echo $rows['content']; ?></td>
<td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td>
<td><input type="button" value="修改"></td>
<td><input type="button" value="刪除" ></td>
</tr>
<?php endforeach;?>
</tr>
</table>
</body>
</html>
效果:
2.2 添加數據
在www文件夾下新建add.php。
步驟:
- 創建表單
- 連接數據庫
- 將數據寫入到數據庫中
代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
if (!empty($_POST)) {
// 2、連接數據庫
require './inc/conn.php';
$time = time();
$sql = "insert into news values (null, '{$_POST['name']}', '{$_POST['content']}', $time)";
// 3、執行SQL語句
if (mysqli_query($link, $sql)) {
header('location:./list.php');
}
else {
echo '插入錯誤,錯誤碼:'.mysqli_errno($link),'<br/>';
echo '錯誤信息:'.mysqli_error($link);
}
}
?>
<!-- 1、創建表單 -->
<form action="" method="post">
姓名:<input type="text" name="name"><br/><br/>
技能:<textarea name="content" cols="30" rows="5"></textarea><br/><br/>
<input type="submit" name="button" value="提交">
</form>
</body>
</html>
效果:
2.3 刪除數據
步驟
入口:list.php。
- 在list.php頁面點擊刪除按鈕,跳轉到del.php頁面,傳遞刪除的id
- 在del.php頁面連接數據庫
- 通過id刪除數據
- 刪除成功後,就跳轉到list.php
list.php代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
width: 780px;
border: 1px solid #000;
margin: auto;
}
th,td {
border: 1px solid #000;
}
</style>
</head>
<body>
<?php
// 1、連接數據庫
require './inc/conn.php';
// 2、獲取數據
$resultSets=mysqli_query($link, 'select * from news'); # 返回結果集對象
$list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
// print_r($list); # 將結果匹配成關聯數組
?>
<a href="./add.php">添加新聞</a>
<table>
<tr>
<th>id</th><th>姓名</th><th>掌握技能</th><th>修改</th><th>刪除</th>
<?php foreach($list as $rows):?>
<tr>
<td><?php echo $rows['id']; ?></td>
<td><?php echo $rows['title']; ?></td>
<td><?php echo $rows['content']; ?></td>
<!-- <td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td> -->
<td><input type="button" value="修改"></td>
<td><input type="button" value="刪除" onclick="if (confirm('確定刪除嗎?')) location.href='./del.php?id=<?php echo $rows['id'] ?>'"></td>
</tr>
<?php endforeach;?>
</tr>
</table>
</body>
</html>
del.php代碼如下:
<?php
// 1、連接數據庫
require './inc/conn.php';
// 2、拼接SQL語句
$sql = "delete from news where id = {$_GET['id']}";
// 3、執行SQL語句
if (mysqli_query($link, $sql)) {
header('location:./list.php');
}
else {
echo '刪除失敗';
}
?>
效果:
2.4 修改數據
入口:list.php
步驟:
第一步:顯示修改頁面
1、連接數據庫
2、獲取修改的數據
3、將數據顯示列表單中
第二步:執行修改邏輯
1、獲取新數據
2、拼接修改的SQL語句,執行修改邏輯
list.php代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table {
width: 780px;
border: 1px solid #000;
margin: auto;
}
th,td {
border: 1px solid #000;
}
</style>
</head>
<body>
<?php
// 1、連接數據庫
require './inc/conn.php';
// 2、獲取數據
$resultSets=mysqli_query($link, 'select * from news'); # 返回結果集對象
$list=mysqli_fetch_all($resultSets, MYSQLI_ASSOC);
// print_r($list); # 將結果匹配成關聯數組
?>
<a href="./add.php">添加新聞</a>
<table>
<tr>
<th>id</th><th>姓名</th><th>掌握技能</th><th>修改</th><th>刪除</th>
<?php foreach($list as $rows):?>
<tr>
<td><?php echo $rows['id']; ?></td>
<td><?php echo $rows['title']; ?></td>
<td><?php echo $rows['content']; ?></td>
<!-- <td><?php echo date('Y-m-d H:i:s', $rows['createtime']); ?></td> -->
<td><input type="button" value="修改" onclick="location.href='./edit.php?id=<?php echo $rows['id'] ?>'"></td>
<td><input type="button" value="刪除" onclick="if (confirm('確定刪除嗎?')) location.href='./del.php?id=<?php echo $rows['id'] ?>'"></td>
</tr>
<?php endforeach;?>
</tr>
</table>
</body>
</html>
edit.php代碼:
<?php
// 連接數據庫
require './inc/conn.php';
// 1、獲取修改的數據
$sql="select * from news where id={$_GET['id']}";
$rs=mysqli_query($link,$sql); // 獲取修改的數據
$row=mysqli_fetch_assoc($rs); // 將修改的數據匹配成一維關聯數組
// 2、執行修改的邏輯
if (!empty($_POST)) {
$id=$_GET['id'];
$title=$_POST['name'];
$content=$_POST['content'];
$sql="update news set title='$title',content='$content' where id=$id";
if (mysqli_query($link, $sql)) {
header('location:list.php');
}
else {
echo '錯誤: '.mysqli_error($link);
}
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="" method="post">
姓名:<input type="text" name="name" value="<?php echo $row['title']?>"><br/><br/>
技能:<textarea name="content" cols="30" rows="5"><?php echo $row['content']?></textarea><br/><br/>
<input type="submit" name="button" value="提交">
<input type="button" name="button" value="返回" onclick="location.href='list.php'">
</form>
</body>
</html>
效果:
在學習的php的路上,如果你覺得本文對你有所幫助的話,那就請關注點贊評論三連吧,謝謝,你的肯定是我寫博的另一個支持。