在信息化时代,医疗信息的便捷获取对于公众健康至关重要。本文将详细介绍如何使用PHP开发一个在线医药信息查询系统,帮助用户快速获取药品信息、使用说明及注意事项。
项目背景与需求分析
随着互联网的普及,越来越多的人倾向于在线查询医疗信息。一个高效的医药信息查询系统不仅能提升用户体验,还能为医疗机构减轻咨询压力。系统需具备以下功能:
- 药品信息查询:用户可通过药品名称或关键词搜索相关信息。
- 使用说明展示:提供药品的详细使用方法和剂量。
- 注意事项提醒:列出药品的禁忌症和副作用。
技术选型与架构设计
技术选型
- 后端语言:PHP
- 数据库:MySQL
- 前端框架:Bootstrap(可选)
- 服务器:Apache/Nginx
架构设计
系统采用经典的MVC(Model-View-Controller)架构,确保代码的可维护性和扩展性。
- Model:负责数据操作,与数据库交互。
- View:负责展示用户界面。
- Controller:处理用户请求,调度Model和View。
数据库设计
数据表结构
- 药品信息表(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)