PHP搭建CRM系统教程:客户管理与销售漏斗详解
时间:2026-05-30 17:07:16 341浏览 收藏
本文手把手教你用PHP从零搭建一个轻量但功能完备的CRM系统,聚焦客户管理与销售漏斗两大核心——通过客户/联系人分层建模与外键关联实现数据精准表达,以状态机驱动的销售阶段流转保障业务逻辑严谨,结合活动留痕、自动待办提醒、基础漏斗报表及强制权限隔离,让系统既可快速落地又具备持续扩展性,证明无需复杂框架,扎实的PHP功底+清晰的业务拆解就能构建真正服务于销售团队的实用工具。

用PHP搭建CRM系统完全可行,关键是把客户关系管理逻辑和销售漏斗阶段拆解清楚,再用简洁、可扩展的代码结构落地。不需要复杂框架也能起步,但得从数据建模和流程控制两个核心入手。
客户与联系人分层设计
CRM不是简单存姓名电话,要区分“客户(Company)”和“联系人(Contact)”两个实体。一家公司可能有多个对接人,一个联系人也可能在不同阶段代表不同公司。
- 客户表(customers)存公司名、行业、规模、主联系人ID、创建时间等
- 联系人表(contacts)存姓名、职位、邮箱、手机、所属客户ID、是否为决策人等
- 用外键关联,避免冗余;加索引加速按公司查联系人或按人查公司
销售漏斗阶段状态驱动
漏斗不是静态列表,而是带行为约束的状态机。每个线索(lead)进入后,只能按业务规则向下一步流转,比如不能从“已报价”直接跳到“已签约”,中间必须经过“客户确认”。
- 定义阶段常量:'new', 'contacted', 'qualified', 'proposal_sent', 'negotiating', 'won', 'lost'
- 在leads表中用stage字段存储当前状态,配合updated_at自动记录阶段变更时间
- 更新阶段时校验合法性(例如:只有stage='qualified'才能转为'proposal_sent'),用简单switch或配置数组控制
关键动作留痕与自动提醒
销售过程的价值在于可追溯。每次沟通、跟进、文件发送都应生成一条活动记录(activities),并支持设置下次跟进时间触发提醒。
- activities表包含:lead_id/contact_id、type(call/email/meeting)、content、next_step_at、created_by
- 首页加“我的待办”模块,查next_step_at ≤ NOW() 且 status='pending' 的记录
- 用PHP脚本+系统定时任务(crontab)每天凌晨扫描,给销售发邮件或站内信提醒逾期跟进项
基础报表与漏斗可视化
不用立刻上ECharts,先用SQL聚合+HTML表格呈现核心指标。重点看各阶段数量、转化率、平均停留天数。
- 写一个getFunnelData()函数,按stage分组count(*),再关联leads.created_at和updated_at算平均时长
- 前端用简单table展示:阶段名称|数量|占比|平均耗时(天)|上月对比
- 点击某阶段可下钻查看具体线索列表,支持按负责人、时间范围筛选
不复杂但容易忽略的是权限隔离和数据归属。哪怕初期只有2个销售,也要在每张业务表加owner_id字段,并在所有查询中默认追加WHERE owner_id = $_SESSION['user_id'],避免客户信息错乱或越权查看。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
119 收藏
-
279 收藏
-
167 收藏
-
341 收藏
-
283 收藏
-
256 收藏
-
411 收藏
-
372 收藏
-
137 收藏
-
414 收藏
-
186 收藏
-
167 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习