用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聊天室技术是一项用于实现在线聊天功能的技术。在网页应用中,通过使用PHP聊天室技术,可以快速搭建一个在线的聊天室,让用户之间可以自由交流。 以下是一个简单的利用PHP聊天室技术实现的在线聊天室的步骤: 创建数据库:首先需要创建一个MySQL数据库,用于保存聊天记录和用户信息。 编写聊天室页面:创建一个聊天室的页面,让用户可以在上面输入文字,发送信息。 …

    PHP 2023年5月23日
    00
  • Warning: require(): open_basedir restriction in effect,目录配置open_basedir报错问题分析

    以下是关于“Warning:require():open_basedirrestrictionineffect,目录配置open_basedir报错问题分析”的完整使用攻略: 基础知识 在进行open_basedir配置时,需要掌握一些基础知识,包open_basedir的作用、open_basedir的配置方式、open_basedir的限制等。以下是一些…

    PHP 2023年5月12日
    00
  • 简单的PHP图片上传程序

    下面我将为您详细讲解完整的简单PHP图片上传程序攻略。 1. 开发环境准备 要开发PHP图片上传程序,需要满足以下开发环境要求: 一台安装了Web服务器软件的服务器(如Apache、Nginx等); PHP解释器,建议使用PHP7及以上版本; 支持文件上传的Web服务器配置; 一台本地计算机,并安装了FTP客户端软件(如FileZilla)。 2. 编写HT…

    PHP 2023年5月23日
    00
  • PHP新手上路(九)

    下面是对“PHP新手上路(九)”攻略的详细讲解。 PHP新手上路(九):从数据库中读取数据 相关概念 在PHP中,可以通过一些扩展库来连接数据库进行数据操作,比如常用的MySQL、SQLite等。在本篇教程中,我们将基于PHP的MySQL函数库,来介绍如何从数据库中读取数据。 连接数据库 在PHP中,可以使用mysqli_connect函数来连接MySQL数…

    PHP 2023年5月26日
    00
  • PHP实现WebSocket实例详解

    PHP实现WebSocket实例详解 WebSocket 是一种在单个TCP连接上进行全双工通信的协议。它是一个HTML5新技术,能够使Web应用程序实现实时通讯功能。在Web开发中,常常需要用到WebSocket实现实时消息推送等功能。 本篇文章将会详细讲解如何使用 PHP 实现 WebSocket。 实现步骤 1. 建立WebSocket连接 WebSo…

    PHP 2023年5月24日
    00
  • PHP 第二节 数据类型之数组

    PHP 第二节 数据类型之数组 在PHP中,数组是一种非常重要的数据类型,用于储存多个值。本节将深入介绍PHP数组的相关知识。 数组的定义 PHP数组是用于储存多个值的变量。通过在方括号中指定键名和键值来创建数组。 <?php // 创建一个数字索引数组 $number_array = array(1, 2, 3, 4, 5); // 创建一个关联数组…

    PHP 2023年5月26日
    00
  • 微信小程序中添加客服按钮contact-button功能

    下面是微信小程序中添加客服按钮contact-button功能的完整攻略: 1. 前置条件 在开始添加客服按钮之前,你需要先完成以下工作: 确保已经有一个微信公众号,并已经通过微信公众平台开通客服功能。 将微信公众号绑定到小程序中。 2. 使用contact-button组件 在小程序中,我们可以使用官方提供的contact-button组件实现添加客服按钮…

    PHP 2023年5月23日
    00
  • thinkphp实现数组分页示例

    下面是关于thinkphp如何实现数组分页的攻略: 一、分页原理 1.1 分页的含义 分页,就是对结果进行分段操作,使得每一段的信息量适中,方便将数据以逐个页面的形式进行展示和阅读。 1.2 分页的作用 在数据呈现方面,分页能够将数据挑拣成逐页呈现,大大地减轻了页面加载的负担,这样用户体验就十分良好。 假如没有分页,数据会一股脑全部呈现在页面上,无疑会造成页…

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