沃梦达 / 编程技术 / 数据库 / 正文

30分钟学会用PHP写带数据库的简单通讯录第1/3页

下面是“30分钟学会用PHP写带数据库的简单通讯录”的完整攻略:

下面是“30分钟学会用PHP写带数据库的简单通讯录”的完整攻略:

1. 准备工作

在开始之前,需要确保你的电脑已经安装了PHP和MySQL,并且能够在浏览器中访问到Web服务器,例如Apache。

2. 创建数据库

首先我们需要创建一个数据库存储通讯录信息,这里以MySQL为例。

  1. 打开MySQL命令行工具,输入以下命令创建一个名为“contact”的数据库:
CREATE DATABASE contact;
  1. 进入到刚才创建的数据库中,执行以下命令创建一个名为“user”的表格,用于存储用户信息:
USE contact;

CREATE TABLE user (
    id INT(11) NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    phone VARCHAR(20) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

3. 编写PHP代码

接下来,我们需要编写PHP代码来实现对数据库中存储的用户信息的增删改查。

  1. 首先,创建一个名为“index.php”的文件,并在文件中添加以下代码来建立与数据库的连接:
<?php
$db_host = 'localhost';
$db_username = 'root';
$db_password = '';
$db_name = 'contact';
$dsn = "mysql:host=$db_host;dbname=$db_name;charset=utf8";

try {
    $pdo = new PDO($dsn, $db_username, $db_password);
} catch(PDOException $e) {
    echo '连接数据库失败!错误信息:'.$e->getMessage();
    exit;
}
?>
  1. 接着,添加以下代码来实现查询数据库中存储的用户信息,并使用HTML和CSS美化页面显示:
<?php
// 查询数据库中的用户信息
$stmt = $pdo->query('SELECT * FROM user');
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>通讯录</title>
    <style>
        table {
            width: 600px;
        }
        th, td {
            padding: 10px;
            text-align: center;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <h1>通讯录</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>电子邮件</th>
            <th>电话号码</th>
        </tr>
        <?php foreach ($users as $user): ?>
            <tr>
                <td><?php echo $user['id']; ?></td>
                <td><?php echo $user['name']; ?></td>
                <td><?php echo $user['email']; ?></td>
                <td><?php echo $user['phone']; ?></td>
            </tr>
        <?php endforeach; ?>
    </table>
</body>
</html>
  1. 最后,添加以下代码来实现插入新用户信息并保存到数据库中:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 获取表单提交的数据
    $name = $_POST['name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];

    // 将新的用户信息插入数据库
    $stmt = $pdo->prepare('INSERT INTO user (name, email, phone) VALUES (?, ?, ?)');
    $stmt->execute([$name, $email, $phone]);
}
?>

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>通讯录</title>
    <style>
        table {
            width: 600px;
        }
        th, td {
            padding: 10px;
            text-align: center;
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <h1>通讯录</h1>
    <form method="post">
        <label for="name">姓名:</label>
        <input type="text" name="name" id="name">
        <label for="email">电子邮件:</label>
        <input type="text" name="email" id="email">
        <label for="phone">电话号码:</label>
        <input type="text" name="phone" id="phone">
        <input type="submit" value="添加">
    </form>
    <table>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>电子邮件</th>
            <th>电话号码</th>
        </tr>
        <?php foreach ($users as $user): ?>
            <tr>
                <td><?php echo $user['id']; ?></td>
                <td><?php echo $user['name']; ?></td>
                <td><?php echo $user['email']; ?></td>
                <td><?php echo $user['phone']; ?></td>
            </tr>
        <?php endforeach; ?>
    </table>
</body>
</html>

以上代码实现了读取数据库中的用户信息,并将信息展示在页面上,同时用户还能在界面上添加新的用户并保存到数据库中。如果用户输入有误,例如留空或者格式不正确等,需要添加相应的表单验证功能以确保数据的准确性。

示例一:

在数据库中插入一条数据,包括字段“name”为“张三”,“email”为“zhangsan@example.com”,“phone”为“13812345678”。

执行以下代码:

INSERT INTO user (name, email, phone) VALUES ('张三', 'zhangsan@example.com', '13812345678');

示例二:

删除数据库中id为1的数据。

执行以下代码:

DELETE FROM user WHERE id = 1;

本文标题为:30分钟学会用PHP写带数据库的简单通讯录第1/3页

基础教程推荐