我们提供消息推送系统招投标所需全套资料,包括消息推送系统介绍PPT、消息推送系统产品解决方案、
消息推送系统产品技术参数,以及对应的标书参考文件,详请联系客服。
// 引入必要的库文件
require_once 'config.php';
require_once 'message.php';
// 创建对话场景
echo "管理员: 我们学校需要一个统一的消息推送平台,能方便教师和学生接收通知。\n";
echo "开发者: 明白了!我们可以用PHP开发这个系统,并结合MySQL数据库存储数据。\n";
// 数据库连接类
class DB {
private static $instance;
private $conn;
private function __construct() {
$this->conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($this->conn->connect_error) {
die("连接失败:" . $this->conn->connect_error);
}
}
public static function getInstance() {
if (!self::$instance) {
self::$instance = new DB();
}
return self::$instance;
}
public function query($sql) {
return $this->conn->query($sql);
}
public function close() {
$this->conn->close();
}
}
// 消息类
class Message {
private $db;
public function __construct() {
$this->db = DB::getInstance();
}
public function sendMessage($title, $content, $receiverType, $receiverId) {
$sql = "INSERT INTO messages (title, content, receiver_type, receiver_id) VALUES ('$title', '$content', '$receiverType', '$receiverId')";
if ($this->db->query($sql)) {
echo "消息发送成功!\n";
} else {
echo "消息发送失败:" . $this->db->conn->error . "\n";
}
}
public function fetchMessages($userId) {
$sql = "SELECT * FROM messages WHERE receiver_type='student' AND receiver_id='$userId'";
$result = $this->db->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "标题: " . $row["title"] . ", 内容: " . $row["content"] . "\n";
}
} else {
echo "没有未读消息。\n";
}
}
}
// 使用示例
echo "管理员: 现在让我们测试一下功能吧!\n";
$msg = new Message();
$msg->sendMessage("考试提醒", "请各位同学准备好明天的数学考试。", "student", "123456");
echo "学生A: 我要查看我的消息。\n";
$msg->fetchMessages("123456");
// 关闭数据库连接
$db = DB::getInstance();
$db->close();
?>