PHP在线医药信息查询系统开发指南

admin 2025-01-13 963 0

在信息化时代,医疗信息的便捷获取对于公众健康至关重要。本文将详细介绍如何使用PHP开发一个在线医药信息查询系统,帮助用户快速获取药品信息、使用说明及注意事项。

PHP在线医药信息查询系统开发指南

项目背景与需求分析

随着互联网的普及,越来越多的人倾向于在线查询医疗信息。一个高效的医药信息查询系统不仅能提升用户体验,还能为医疗机构减轻咨询压力。系统需具备以下功能:

  1. 药品信息查询:用户可通过药品名称或关键词搜索相关信息。
  2. 使用说明展示:提供药品的详细使用方法和剂量。
  3. 注意事项提醒:列出药品的禁忌症和副作用。

技术选型与架构设计

技术选型

  • 后端语言:PHP
  • 数据库:MySQL
  • 前端框架:Bootstrap(可选)
  • 服务器:Apache/Nginx

架构设计

系统采用经典的MVC(Model-View-Controller)架构,确保代码的可维护性和扩展性。

  • Model:负责数据操作,与数据库交互。
  • View:负责展示用户界面。
  • Controller:处理用户请求,调度Model和View。

数据库设计

数据表结构

  1. 药品信息表(drugs)
    • id:主键,自增
    • name:药品名称
    • description:药品描述
    • usage:使用方法
    • precautions:注意事项
CREATE TABLE drugs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    description TEXT,
    usage TEXT,
    precautions TEXT
);

后端开发

连接数据库

使用PDO(PHP Data Objects)进行数据库连接,确保安全性。

<?php
$host = 'localhost';
$dbname = 'medicine_db';
$user = 'root';
$pass = 'password';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Connection failed: " . $e->getMessage());
}
?>

查询药品信息

编写一个函数,根据用户输入的药品名称查询相关信息。

<?php
function getDrugInfo($name) {
    global $pdo;
    $stmt = $pdo->prepare("SELECT * FROM drugs WHERE name LIKE :name");
    $stmt->bindValue(':name', "%$name%");
    $stmt->execute();
    return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
?>

前端开发

搜索界面

使用Bootstrap构建简洁的搜索界面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>医药信息查询系统</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
    <h1 class="text-center">医药信息查询</h1>
    <form action="search.php" method="get">
        <div class="form-group">
            <input type="text" class="form-control" name="name" placeholder="输入药品名称">
        </div>
        <button type="submit" class="btn btn-primary">查询</button>
    </form>
</div>
</body>
</html>

结果展示

search.php中处理查询请求并展示结果。


<?php
include 'db.php';

$name = $_GET['name'] ?? '';
$drugs = getDrugInfo($name);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>查询结果</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
    <h2 class="text-center">查询结果</h2>
    <?php if ($drugs): ?>
        <div class="list-group">
            <?php foreach ($drugs as $drug): ?>
                <a href="#" class="list-group-item list-group-item-action">
                    <h5 class="mb-1"><?= htmlspecialchars($drug['name']) ?></h5>
                    <p class="mb-1"><?= htmlspecialchars($drug['description']) ?></p>
                    <small><?= htmlspecialchars($drug['usage']) ?></small>
                    <small class="text-danger"><?= htmlspecialchars($drug['precautions']) ?></small>
                </a>
            <?php endforeach; ?>
        </div>

评论(0)