用php+mysql一个名片库程序

yizhihongxing

下面我将详细讲解如何使用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日

相关文章

  • scratch当前页面怎么插入文字?

    当你在使用 Scratch 编辑器的时候,如果需要在当前页面插入文字,可以通过以下步骤完成: 点击左侧的文字工具栏,选择需要插入的文字类型。 将光标放在编辑器画布上,按住鼠标左键,拖动鼠标创建一个文本区域。 将需要输入的文字输入到文本区域中,可以通过鼠标点击和拖动方式调整文本区域的大小和位置。 在创建的文本区域上单击右键,可以弹出更多的文字自定义选项,如字体…

    PHP 2023年5月30日
    00
  • PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

    我来详细介绍一下“PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】”。 一、为什么需要对多维数组进行排序? 在实际开发中,我们经常需要对多维数组进行一些操作,其中一个比较常见的操作就是对多维数组进行排序。排序可以按照数组中的某个键值进行排序,也可以按照多个键值进行排序。排序后,可以更方便地进行数组的操作和处理。 二、方法一:使用usort函数对多…

    PHP 2023年5月26日
    00
  • wamp下修改mysql访问密码的解决方法

    下面是详细讲解“wamp下修改mysql访问密码的解决方法”的完整攻略: 问题描述 在WAMP环境下使用MySQL时,我们可能需要修改MySQL访问密码。但是,部分人员不知道具体的修改方法,出现以下问题: 如何修改mysql访问密码? 如何在WAMP环境下重置MySQL的root密码? 如果出现忘记MySQL的密码或无法登录的问题该怎么办? 接下来,我们将介…

    PHP 2023年5月23日
    00
  • 创造100% 自适应css布局的行之有效的方法

    要创造一个100%自适应的CSS布局,通常需要遵循以下几个步骤: 1. 使用流式布局 最简单的方法是使用流式布局(也称为流式设计)。在流式网格中,网站的布局从一定宽度开始,并根据浏览器的大小而发生变化。CSS中包含两个最常用的长度单位:px(像素)和%。像素(px)是固定的长度单位,而百分比(%)是相对于父元素的长度。因此,您可以将网格的宽度设置为百分比,这…

    PHP 2023年5月26日
    00
  • PHP判断文件是否存在、是否可读、目录是否存在的代码

    以下是 PHP 判断文件和目录存在以及可读性的攻略。 判断文件是否存在 要判断一个文件是否存在,可以使用 file_exists() 函数。该函数接收一个文件路径参数,如果这个路径存在则返回 true,否则返回 false。 if (file_exists(‘/path/to/file.txt’)) { echo ‘文件存在’; } else { echo …

    PHP 2023年5月26日
    00
  • php array_keys 返回数组的键名

    当我们需要获取PHP数组中所有的键名时,可以使用PHP内置函数array_keys(),该函数返回一个由数组中所有的键名所组成的新数组。 函数语法为: array array_keys ( array $array [, mixed $search_value = null [, bool $strict = false ]] ) 其中,$array参数表示…

    PHP 2023年5月26日
    00
  • 微信小程序uploadFile接口实现文件上传

    下面是详细的攻略: 1. 查看文档 在开始实现之前,我们首先需要查看微信小程序官方文档中的uploadFile接口的说明。 该接口用于将本地资源上传到服务器。需要注意以下几点: 文件上传的大小限制是 50 MB。 支持 HTTP POST 、HTTP PUT 方式上传。 支持同时上传多个文件。 支持上传图片、视频、音频等类型的文件。 支持设置请求头和自定义 …

    PHP 2023年5月23日
    00
  • php 结果集的分页实现代码

    当我们需要从数据库中查询大量的数据时,我们通常需要将其进行分页处理。在PHP中,可以通过使用MySQL来实现PHP结果集的分页实现。 分页实现代码步骤 以下是实现PHP结果集的分页的步骤: 查询总记录数:通过查询数据库,并统计查询结果的记录总数。 计算总页数:使用总记录数除以每页显示的记录数,向上取整得到总页数。 记录当前页码:使用$_GET获取当前页码,并…

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