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

下面是“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页 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • mysql连接查询、联合查询、子查询原理与用法实例详解

    mysql连接查询、联合查询、子查询原理与用法实例详解 连接查询 连接查询操作可以将多个表中的数据按照某些条件进行关联,获取到联合信息后进行数据展示。连接查询可以使用 join 或者其简化版本使用关键字 as 直接将表名称关联在一起。 JOIN JOIN 操作包括了 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER J…

    database 2023年5月22日
    00
  • Redis如何在项目中合理使用经验分享

    下面是Redis在项目中合理使用的攻略,主要包括以下几个方面: 1. Redis在项目中的应用场景 Redis是一种高性能的NoSql数据库,常被用于解决一些数据读取和缓存的问题,例如: 高并发数据读取功能,例如使用Redis缓存热门文章、商品等数据内容,减轻MySQL等数据库的读取压力,提高网站的访问速度和性能; 缓存系统功能,例如使用Redis作为ses…

    database 2023年5月22日
    00
  • 简单了解Spring中的事务控制

    简单了解Spring中的事务控制 Spring作为一款优秀的 Java 开发框架,提供了非常完善的数据访问和事务控制支持。Spring 的事务控制主要是通过AOP(面向切面编程)实现,易于扩展,功能强大。 什么是事务 事务是指一组要么全部执行成功,要么全部回滚的一组数据库操作。在Java应用程序中,事务的支持是非常重要和必要的,会话中出现故障或意外错误时,可…

    database 2023年5月21日
    00
  • JavaScript中操作Mysql数据库实例

    要在JavaScript中操作MySQL数据库实例,你需要使用Node.js和适当的MySQL数据库驱动程序。Node.js是一个基于V8 JavaScript引擎的开放源码、跨平台、事件驱动的JavaScript运行时环境,可以用于在后端编写服务器端应用程序。MySQL是一个开放源码的关系型数据库管理系统,可以提供多用户、多线程、多数据库等功能。 下面是使…

    database 2023年5月21日
    00
  • SQL Server 的高可用性和灾难恢复的区别

    SQL Server 的高可用性和灾难恢复都是保障数据可靠性的方式,但它们的实现和应用场景是不同的。 高可用性 高可用性通常是指在系统运行过程中,持续保持系统服务的可用性,避免因单点故障而造成业务中断。 SQL Server 的高可用性实现方式有以下几种: Always On 可用性组 Always On 可用性组是 SQL Server 2012 引入的一…

    database 2023年3月27日
    00
  • MySQL版oracle下scott用户建表语句实例

    MySQL版Oracle下Scott用户建表语句实例 在MySQL中创建Scott用户并在其中创建表格的方法和Oracle中略有不同。本文将提供MySQL版Oracle下Scott用户建表语句完整攻略,并给出两个具体的示例说明。 创建Scott用户 在MySQL中,我们需要在root用户下创建新用户,并授权给该用户创建表格的权限。具体步骤如下: –创建 S…

    database 2023年5月21日
    00
  • sql连接查询语句中on、where筛选的区别总结

    SQL连接查询语句中on、where筛选的区别总结: 在SQL连接查询语句中,on和where是两个常用的筛选条件,它们用于对连接的两个表的行进行筛选。下面将详细介绍on和where的用法和区别。 on的用法 on的作用是对连接的两张表进行关联。on和join一起使用,所以它只能用于连接查询中。on条件语句是放在join关键字后面的: SELECT Orde…

    database 2023年5月21日
    00
  • 数据库SQL SELECT查询的工作原理

    数据库 SQL SELECT 查询是数据库操作的一个重要部分,它用于从一个或多个表中检索所需数据。下面是 SELECT 查询的工作原理: 1. SELECT 查询语法 SELECT 查询要求使用正确的 SQL 语法,其中包括以下基本组件: SELECT:要查询的列名或通配符 FROM:要从哪些表中检索数据 WHERE(可选):条件约束查询结果 ORDER B…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部