用php+mysql一个名片库程序

下面我将详细讲解如何使用PHP和MySQL来创建一个名片库程序,包括以下步骤:

步骤一:创建数据库表和字段

首先,我们需要在MySQL中创建一个名为“business_cards”的数据库,然后创建一个名为“cards”的数据表,表中要包括以下字段:

  • id:自增主键,用于标识每一张名片的唯一性
  • name:名片拥有者的姓名
  • title:名片拥有者的职称
  • company:名片所在公司的名称
  • phone:名片上的电话号码
  • email:名片上的电子邮件地址
  • address:名片上的地址
  • image_url:名片的照片路径,为避免数据过大,这里建议使用照片URL而非二进制格式

下面是创建该表的代码示例:

CREATE DATABASE IF NOT EXISTS business_cards;

USE business_cards;

CREATE TABLE IF NOT EXISTS cards (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  title VARCHAR(255) NOT NULL,
  company VARCHAR(255) NOT NULL,
  phone VARCHAR(20) NOT NULL,
  email VARCHAR(255) NOT NULL,
  address VARCHAR(255) NOT NULL,
  image_url VARCHAR(255) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

步骤二:创建PHP脚本,并连接到MySQL

接下来,我们需要创建一个PHP脚本,用于连接到MySQL数据库,并执行增删改查等操作。下面是一个示例代码,它使用了PDO来连接MySQL数据库,可以根据上述数据表字段来进行增删改查操作:

try {
    // 连接数据库
    $pdo = new PDO('mysql:host=localhost;dbname=business_cards;charset=utf8mb4', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 新增名片
    $stmt = $pdo->prepare("INSERT INTO cards (name, title, company, phone, email, address, image_url) VALUES (?, ?, ?, ?, ?, ?, ?)");
    $stmt->bindParam(1, $name);
    $stmt->bindParam(2, $title);
    $stmt->bindParam(3, $company);
    $stmt->bindParam(4, $phone);
    $stmt->bindParam(5, $email);
    $stmt->bindParam(6, $address);
    $stmt->bindParam(7, $image_url);
    $name = '张三';
    $title = 'CEO';
    $company = 'ABC公司';
    $phone = '13888888888';
    $email = 'zhangsan@abc.com';
    $address = '北京市海淀区';
    $image_url = '/path/to/image.jpg';
    $stmt->execute();

    // 查询名片
    $stmt = $pdo->prepare("SELECT * FROM cards WHERE name = ?");
    $stmt->bindParam(1, $name);
    $name = '张三';
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $row) {
        echo $row['name'] . ', ' . $row['title'] . ', ' . $row['company'] . '<br>';
    }

    // 更新名片
    $stmt = $pdo->prepare("UPDATE cards SET title = ? WHERE name = ?");
    $stmt->bindParam(1, $title);
    $stmt->bindParam(2, $name);
    $title = 'CTO';
    $name = '张三';
    $stmt->execute();

    // 删除名片
    $stmt = $pdo->prepare("DELETE FROM cards WHERE name = ?");
    $stmt->bindParam(1, $name);
    $name = '张三';
    $stmt->execute();
} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage();
    exit;
}

步骤三:创建前端页面,并连接到PHP脚本

最后,我们需要创建一个前端页面,来展示名片。下面是一个示例代码,它使用了Bootstrap框架来创建页面,使用了jQuery来与后台PHP脚本进行交互:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>名片库</title>
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
</head>
<body>
    <div class="container">
        <h1>名片库</h1>

        <!-- 展示名片列表 -->
        <table class="table">
            <thead>
                <tr>
                    <th>#</th>
                    <th>姓名</th>
                    <th>职称</th>
                    <th>公司</th>
                </tr>
            </thead>
            <tbody id="card-list">
            </tbody>
        </table>

        <!-- 添加名片的表单 -->
        <div class="panel panel-default">
            <div class="panel-heading">添加名片</div>
            <div class="panel-body">
                <form id="add-card-form">
                    <div class="form-group">
                        <label for="name">姓名:</label>
                        <input type="text" id="name" name="name" class="form-control">
                    </div>
                    <div class="form-group">
                        <label for="title">职称:</label>
                        <input type="text" id="title" name="title" class="form-control">
                    </div>
                    <div class="form-group">
                        <label for="company">公司:</label>
                        <input type="text" id="company" name="company" class="form-control">
                    </div>
                    <button type="submit" class="btn btn-primary">添加</button>
                </form>
            </div>
        </div>
    </div>

    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script>
        // 获取名片列表
        $.ajax({
            url: 'get_cards.php',
            type: 'GET',
            dataType: 'json',
            success: function (data) {
                var html = '';
                for (var i = 0; i < data.length; i++) {
                    html += '<tr>';
                    html += '<td>' + data[i].id + '</td>';
                    html += '<td>' + data[i].name + '</td>';
                    html += '<td>' + data[i].title + '</td>';
                    html += '<td>' + data[i].company + '</td>';
                    html += '</tr>';
                }
                $('#card-list').html(html);
            }
        });

        // 添加名片
        $('#add-card-form').submit(function (event) {
            event.preventDefault();
            $.ajax({
                url: 'add_card.php',
                type: 'POST',
                dataType: 'json',
                data: $(this).serializeArray(),
                success: function (data) {
                    alert('添加成功!');
                }
            });
        });
    </script>
</body>
</html>

在该页面中,我们使用了ajax来与后台PHP脚本进行数据交互,例如获取名片列表和添加名片等操作。同时,我们在PHP脚本中也需要处理这些请求,下面是处理“获取名片列表”和“添加名片”的示例代码:

“获取名片列表”(get_cards.php文件)代码:

<?php

try {
    // 连接数据库
    $pdo = new PDO('mysql:host=localhost;dbname=business_cards;charset=utf8mb4', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 查询数据
    $stmt = $pdo->prepare("SELECT * FROM cards");
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    echo json_encode($result);
} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage();
    exit;
}

“添加名片”(add_card.php文件)代码:

<?php

try {
    // 连接数据库
    $pdo = new PDO('mysql:host=localhost;dbname=business_cards;charset=utf8mb4', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 插入数据
    $stmt = $pdo->prepare("INSERT INTO cards (name, title, company) VALUES (?, ?, ?)");
    $stmt->bindParam(1, $name);
    $stmt->bindParam(2, $title);
    $stmt->bindParam(3, $company);
    $name = $_POST['name'];
    $title = $_POST['title'];
    $company = $_POST['company'];
    $stmt->execute();
    $id = $pdo->lastInsertId();

    // 返回结果
    echo json_encode(array('id' => $id));
} catch (PDOException $e) {
    echo 'Error: ' . $e->getMessage();
    exit;
}

以上就是使用PHP和MySQL创建名片库程序的完整攻略。其中,“步骤二”和“步骤三”需要结合实际情况进行代码编写,可根据示例代码进行修改。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用php+mysql一个名片库程序 - Python技术站

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

相关文章

  • PHP实现字符串大小写转函数的功能实例

    下面是关于“PHP实现字符串大小写转函数的功能实例”的详细攻略: 1. 确定函数的名称 首先,我们需要为这个函数命名,通常情况下,我们采用以下的函数名称: function convertCase($str, $type) 其中 $str 参数为待转换的字符串,$type 参数为转换类型。 2. 编写函数 有了函数名称,我们就可以着手编写函数了。下面我们给出…

    PHP 2023年5月24日
    00
  • PHP合并两个或多个数组的方法

    PHP合并两个或多个数组的方法有多种方法,本文将介绍三种常用的方法,分别是array_merge()函数、array_replace()函数和“+”运算符。 方法一:array_merge()函数 array_merge()函数可以将两个或多个数组合并成一个新的数组,并返回结果数组。这个函数合并数组时会保留每个数组元素的键名,如果遇到键名冲突,则后面的数组的…

    PHP 2023年5月26日
    00
  • php实现对两个数组进行减法操作的方法

    那么接下来我将详细讲解一下 “php实现对两个数组进行减法操作的方法”。 什么是PHP数组的减法操作? PHP中,可以通过将一个数组中的元素减去另一个数组中的元素,来实现数组的减法操作。使用PHP实现数组的减法操作,可以对两个数组进行比较,得到他们之间的差异。具体实现方式有多种,常用的有foreach循环、array_diff等方法。 使用foreach循环…

    PHP 2023年5月26日
    00
  • php使用include 和require引入文件的区别

    你说的问题是 PHP 中 include 和 require 引入文件的区别,我来详细讲解一下。 在 PHP 中,我们经常需要在多个页面中使用相同的代码或功能模块,为了避免代码的冗余和重复,我们可以将这些代码或模块封装成一个文件,然后在需要的页面中引入该文件以复用其代码或功能。这里提供两个示例来说明 include 和 require 的用法和区别。 1. …

    PHP 2023年5月26日
    00
  • 举例详解PHP脚本的测试方法

    以下是“举例详解PHP脚本的测试方法”的完整攻略。 1. 确定测试目标 在进行PHP脚本的测试之前,我们需要先确定测试目标,包括但不限于以下几个方面: 测试输出是否符合预期; 测试对不同输入的响应是否正确; 测试脚本在不同环境中的兼容性等。 2. 编写测试用例 在确定测试目标后,我们需要编写相应的测试用例,用于对PHP脚本进行测试。测试用例应该包括输入和预期…

    PHP 2023年5月23日
    00
  • php实现模拟post请求用法实例

    下面是详细讲解“php实现模拟post请求用法实例”的完整攻略: 什么是模拟post请求 在介绍实现模拟post请求之前,首先我们需要了解什么是模拟post请求。 HTTP协议中,get和post都是常用的请求方式。不同的请求方式在传递参数时有不同的方式,get请求会在URL后面拼接参数,而post请求则将参数放在请求体中。 模拟post请求,就是使用PHP…

    PHP 2023年5月27日
    00
  • php实现页面纯静态的实例代码

    这里提供一个实现 PHP 页面纯静态的方法。 1. 原理 将所有的 PHP 文件转化为静态 HTML 文件,然后在 Web 服务器上直接访问 HTML 文件。这样可以减少服务器的负载,同时提高网站的访问速度。 具体实现方法可以使用 Apache 的 mod_rewrite 或者 Nginx 的 rewrite 模块来配置。 2. 实现步骤 2.1. 环境准备…

    PHP 2023年5月24日
    00
  • 微信小程序上传图片到php服务器的方法

    下面是关于“微信小程序上传图片到php服务器的方法”的完整攻略。 准备工作 在开始上传图片之前,我们需要准备以下工作: 创建一个php文件用于接收上传的图片,保存在服务器上。 生成并保存服务器上传接口的url地址。 将需要上传的图片转换为base64编码格式。 在微信小程序的配置文件中添加request合法域名。 在准备工作完成后,我们就可以开始进行图片上传…

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