就是foreach循环啊,另外,你这给出的是模板代码~先从控制器controller中查出购物车的数据然后$this->assign('data', $data);到模板,然后$this->display();到该控制器对应的模板。然后在模板中foreach循环出购物车数据即可。更多追问追答追问
您在看一下我心补充的问题!追答
多个id传数组啊。前台命名方式:
<input type="text" name="ids[]" value="{$ca.goods_id}" />追问
根据id查商品,多个商品的传过来,怎么接收多个id啊;在Controller里,现在只能查询出一个商品的信息。追答
。。。都给你说方法了,你还没明白,我不知道怎么给你解释了本回答被提问者和网友采纳
项目名称,项目描述,项目技术,你的职责任务。通过以上几点来写,然后关键是面试讲解要做到问什么都得答上来。希望我的回答可以帮到你,有什么不懂可以。
《php典型e68a84e8a2ad62616964757a686964616f31333361303564模块与项目实战大全》以实战开发为原则,以php典型模块和项目开发为主线,通过12个高质量的php典型模块和6个php大型应用,向读者揭示了web开发的整体结构,并详尽地介绍php开发与建站的技术要点。《php典型模块与项目实战大全》附带1张dvd,内容是作者为本书录制的全程多媒体语音教学视频及本书所涉及的源代码。《php典型模块与项目实战大全》共22章,分为3篇。第1篇是php开发基础,涵盖的内容有web开发基础、开发环境的安装与配置、php语言参考、php简单实例;第2篇为典型模块开发与应用,涵盖的内容有留言板模块、注册及登录验证模块、上传与下载模块、内容采集器模块、日程表模块、聊天室程序、计费系统模块、充值平台模块、在线调查模块、wap资讯模块、广告管理模块、文件管理器模块;第3篇为项目开发实战,涵盖的内容有内容管理系统、娱乐联播软件、宝藏游戏、图片交易平台、在线购物平台、joomla扩展开发与快速建站。《php典型模块与项目实战大全》内容全面、深入,既是优秀的学习教程,也可用作参考手册。书中的大量实例和深入分析均来自于作者多年的实际工作经验,对于解决开发人员在实际开发中所面临的各种问题有重要的借鉴意义。本书适合各层次的php程序员、爱好者和web开发人员阅读。作译者回到顶部↑本书提供作译者介绍杨宇 开源爱好者。曾参与并领导多个大型互联网项目。在Web开发、MySQL数据库开发、负载均衡、分布式部署方案、大规模高并发系统设计等领域有丰富的架构设计及项目管理经验。现任某互联网公司副总经理兼技术总监。
php严程序,网站里面有php开发小型贴吧的视频教程,合适初、中等水平程序员学习。
php典型模块与项目实战大全》第1篇 php开发必备基础第1章 web开发基础 2教学视频:26分钟1.1 php简介 21.1.1 php有什么特点 21.1.2 php能做什么 31.1.3 用什么技术来搭建php环境 41.2 html基础 61.2.1 html文档基本结构 61.2.2 简单的html示例 61.2.3 创建网页上的列表 71.2.4 创建图像和链接 91.2.5 创建表单 101.3 javascript基础 111.3.1 javascript在html中的嵌入方式 111.3.2 控制ie的弹出页面 121.3.3 客户端数据存储机制cookie 151.3.4 客户端事件驱动 171.4 小结 19.第2章 开发环境的安装与配置 21教学视频:63分钟2.1 安装和配置linux系统 212.1.1 基础配置安装 212.1.2 磁盘分区设置 222.1.3 引导装载系统设置 242.1.4 开发包安装及修改登录配置 252.2 安装和配置apache服务器 262.2.1 安装web服务器apache 262.2.2 启动和配置web服务器apache 272.2.3 测试web服务器apache 282.3 安装和配置mysql数据库 282.3.1 安装mysql数据库 282.3.2 配置mysql数据库 292.3.3 测试mysql数据库 302.4 安装和配置php 312.4.1 下载php相关组件 312.4.2 安装php相关联的包 322.4.3 安装及编译php 342.4.4 修改apache配置文件 352.4.5 测试php 352.5 小结 36第3章 php语言参考 37教学视频:29分钟3.1 类型 373.1.1 类型分类 373.1.2 类型函数 383.2 变量 393.2.1 变量基础 393.2.2 php中的变量 403.3 运算符与表达式 423.3.1 算术表达式 423.3.2 字符串表达式 433.3.3 逻辑操作表达式 443.3.4 其他运算符表达式 443.4 流程控制 463.4.1 if…else判断 463.4.2 for循环 473.4.3 switch判断 483.4.4 其他的流程控制 493.5 函数、类与对象 503.5.1 php中的函数 503.5.2 函数与变量作用域 513.5.3 类与对象 523.6 小结 54第4章 php简单的例子 55教学视频:24分钟4.1 永远的hello world 554.1.1 hello world的由来 554.1.2 php脚本嵌入html文档 554.1.3 准备知识 564.1.4 hello world程序实现 574.2 访客计数器 584.2.1 访客计数器系统构架 584.2.2 创建计数器函数 594.2.3 计数器完整实现 604.3 组合条件查询例子 614.3.1 组合条件查询系统构架 614.3.2 数据库设计 624.3.3 条件查询实例的功能规划 634.3.4 条件搜索页面 634.3.5 结果处理及展示文件 654.4 小结 67第2篇 php典型模块开发与应用第5章 留言板模块(表单+session+验证+分页) 70教学视频:33分钟5.1 基础设计 705.1.1 功能描述 705.1.2 流程描述 715.2 数据库设计 725.2.1 访客留言信息表 735.2.2 管理员回复留言表 735.3 留言浏览 735.3.1 留言浏览页面设计 735.3.2 留言浏览程序设计 765.3.3 分页处理技术 775.4 留言提交 795.4.1 留言提交页面设计 795.4.2 留言有效性验证 815.4.3 留言内容处理 825.5 留言管理 835.5.1 管理员登录 835.5.2 留言回复 845.5.3 留言删除 865.6 小结 86第6章 注册及登录验证模块(验证+正则表达式+sql注入) 87教学视频:32分钟6.1 用户信息表设计 876.2 界面设计 886.2.1 用户注册界面设计 886.2.2 登录验证界面设计 906.3 客户端数据有效性验证 916.3.1 javascript通用过滤函数 926.3.2 表单数据的有效性验证 936.4 服务端数据有效性验证 946.4.1 正则表达式判断 956.4.2 用户名排重检测 976.4.3 sql注入验证 996.5 已注册用户登录 1016.5.1 客户端用户登录验证 1016.5.2 服务端用户登录状态验证 1026.5.3 标记登录状态 1046.6 小结 106第7章 上传与下载模块(php防盗链+ activexobject控件) 107教学视频:31分钟7.1 上传与下载的实现原理 1077.1.1 php文件上传的原理及实现 1077.1.2 php文件下载的原理及实现 1097.2 文件尺寸限制及异常处理 1117.2.1 javascript文件尺寸验证 1117.2.2 php上传文件涉及的参数 1137.3 数据库设计 1147.4 文件上传程序 1147.4.1 上传文件的客户端类型检测 1157.4.2 上传文件的服务器端处理 1157.4.3 将上传文件信息归档到数据库 1177.5 文件下载程序 1187.5.1 文件下载列表 1197.5.2 文件下载程序实现 1227.6 小结 123第8章 内容自动采集器模块(爬虫+fckeditor编辑器+任务接力) 124教学视频:30分钟8.1 内容自动采集器功能及采集原理 1248.1.1 url地址列表分析 1258.1.2 获得内容页面信息 1258.1.3 延时函数 1268.1.4 获取全部列出形式 1268.1.5 分页分析 1278.2 数据库设计 1278.2.1 规则存储表设计 1288.2.2 采集内容表设计 1288.3 采集器模块界面设计 1298.3.1 采集器管理界面 1298.3.2 采集内容列表界面 1318.4 内容自动采集器程序实现 1318.4.1 采集规则管理程序 1328.4.2 爬虫程序 1358.4.3 获得需采集内容列表 1378.4.4 内容编辑器 1398.5 采集异常及处理 1418.5.1 抓取超时解决方法 1418.5.2 任务接力模式 1428.6 小结 143第9章 日程表模块(php+ajax+xml) 144教学视频:30分钟9.1 ajax基础 1449.1.1 http请求和响应基础 1449.1.2 xmlhttprequest对象 1469.1.3 向服务器发送请求 1479.2 ajax中的服务端脚本 1489.2.1 ajax与xml文件进行交互式通信 1489.2.2 php生成xml 1519.2.3 数据库驱动的ajax 1529.3 日程表数据库设计 1549.4 日历程序设计 1559.4.1 php生成的日历 1559.4.2 日程表xml文档 1589.4.3 日历的完美实现 1599.5 日程表管理程序 1639.5.1 添加事件界面 1639.5.2 添加事件程序 1659.5.3 管理事件界面 1669.5.4 管理事件程序 1669.6 小结 169第10章 聊天室模块(frameset页面框架+session) 170教学视频:21分钟10.1 聊天室基础设计 17010.1.1 主要实现功能描述 17010.1.2 业务流程描述 17110.1.3 逻辑结构设计 17110.2 聊天室数据库设计 17210.3 访问者引导 17310.3.1 引导页面设计 17310.3.2 引导页面程序 17410.4 聊天室程序 17510.4.1 编辑发送信息 17510.4.2 显示全部信息 17810.4.3 聊天主题列表 18110.4.4 聊天室结构框架 18110.5 聊天室的优化和完善 18310.6 小结 183第11章 计费系统模块(原子操作+数据回滚rollback) 184教学视频:33分钟11.1 计费系统概述 18411.2 数据库设计规划 18511.2.1 用户虚拟货币存储表设计 18511.2.2 用户交易明细表 18611.2.3 支付平台订单表 18711.3 核心功能函数 18811.3.1 使用charge_num()函数给指定用户充值 18811.3.2 使用decrease_num()函数实现消费金额扣减 18811.3.3 使用transaction_record()函数记录用户的交易 18911.3.4 使用update_status_record()函数确认用户付费操作 18911.3.5 使用count_user_num()函数更新充值次数 19011.4 应用程序接口 19011.4.1 充值接口程序 19111.4.2 扣费接口程序 19211.4.3 用户余额查询程序 19411.5 smarty模板引擎 19511.6 查询充值记录 19711.6.1 查询充值记录界面 19711.6.2 查询充值记录程序 19911.7 小结 202第12章 充值平台模块(md5加密+https协议) 203教学视频:27分钟12.1 充值平台概述 20312.1.1 充值平台实现目的 20312.1.2 开发调试流程概述 20312.2 测试接口说明 20412.2.1 签名测试模块 20412.2.2 下订单测试模块 20512.2.3 支付成功提货测试模块 20512.2.4 支付网关整体测试流程模块 20512.3 通知支付结果方式的实现 20612.3.1 向支付网关提交支付请求信息 20612.3.2 支付网关将支付结果信息传给程序的接口 20812.3.3 服务器间通知方式 20912.4 充值引导 20912.4.1 充值引导页面设计 20912.4.2 充值引导程序 21312.5 服务端充值接口 21412.5.1 订单确认 21412.5.2 接收网关支付通知 21712.5.3 支付结果显示 21912.6 小结 222第13章 在线调查模块(php+mysql+xml) 223教学视频:24分钟13.1 在线调查系统需求分析 22313.2 数据库设计 22413.3 调查管理后台 22513.3.1 调查管理后台界面 22613.3.2 调查管理程序 22813.3.3 保存调查数据 23013.4 在线调查 23113.4.1 在线调查界面 23113.4.2 在线调查程序 23313.5 调查结果查看 23713.5.1 调查结果查看界面 23713.5.2 调查结果查看程序 23813.6 小结 241第14章 wap资讯模块(php+wml+wap) 242教学视频:29分钟14.1 wap应用基础 24214.1.1 wap系统概述 24214.1.2 wml基础 24314.1.3 wap浏览器安装与调试 24614.2 数据库设计 24714.2.1 用户资料表 24714.2.2 专辑资料表 24814.2.3 图片资料库表 24914.3 核心函数说明 25014.3.1 init_sid()函数 25014.3.2 编码转换函数 25114.3.3 wml格式输出函数 25114.4 wap认证程序 25214.4.1 登录认证程序 25214.4.2 手机号码效验程序 25314.4.3 付费内容认证程序 25414.5 wap资讯程序 25814.5.1 wap资讯首页程序 25814.5.2 专辑图片 26214.5.3 专辑列表 26414.5.4 图片显示程序 26514.5.5 图片下载程序 26714.6 小结 268第15章 广告管理模块(javascript+iframe+smarty) 269教学视频:30分钟15.1 广告管理概述 26915.1.1 广告管理基本特征 26915.1.2 工作流程描述 27015.2 文件目录结构设计及说明 27115.2.1 系统根目录说明 27115.2.2 配置文件目录说明 27215.2.3 函数库文件目录 27215.2.4 模板引擎目录 27315.2.5 广告管理模板目录 27315.3 核心函数说明 27415.3.1 使用allen_thu()函数实现搜索和替换 27415.3.2 使用allen_file()函数生成文件函数 27415.3.3 使用isok()函数实现页面跳转 27515.3.4 使用error()函数报错 27515.4 广告管理界面程序 27615.4.1 显示广告列表 27615.4.2 内容搜索的实现 28115.5 广告管理操作程序 28315.5.1 新增广告操作 28315.5.2 广告生成与编辑操作 28615.5.3 广告删除操作 29115.6 小结 293第16章 文件管理器(文件处理+smarty) 294教学视频:28分钟16.1 文件管理器概述 29416.1.1 文件管理器的基本特征 29416.1.2 工作流程描述 29416.2 文件处理函数说明 29516.2.1 目录类函数 29516.2.2 文件操作函数 29716.2.3 字符串处理函数 30016.3 文件管理器 30316.3.1 文件和目录浏览 30316.3.2 文件查看程序 31016.4 文件管理功能 31116.4.1 文件编辑 31116.4.2 文件更名 31516.5 小结 318第3篇 php项目开发实战第17章 内容管理系统(oop+url rewrite+html编辑器) 320教学视频:44分钟17.1 cms设计基础 32017.1.1 cms基本概念 32017.1.2 cms主要实现功能 32117.2 数据库设计 32217.2.1 文章内容表 32217.2.2 注册会员表 32317.2.3 管理员账户表 32517.2.4 网站相关信息表 32517.3 管理框架搭建 32617.3.1 创建管理框架 32617.3.2 登录验证程序 32717.3.3 导航栏部分 33017.3.4 侧边栏部分 33217.3.5 主体部分 33317.4 基础类库介绍 33517.4.1 公共类 33617.4.2 文章操作类 33617.4.3 管理员账户操作类 33817.4.4 注册会员操作类 33917.5 后台管理功能 34117.5.1 会员管理 34117.5.2 文章管理 34317.5.3 网站相关栏目 35017.6 小结 359第18章 娱乐联播(rss内容聚合+ magpie抓取) 360教学视频:56分钟18.1 娱乐联播基础设计 36018.1.1 rss基本概念 36018.1.2 娱乐联播流程 36118.2 数据库设计 36218.2.1 栏目分类表 36318.2.2 rss数据源表 36318.2.3 采集新闻内容表 36418.3 核心函数说明 36418.3.1 使用get_ids()函数获得指定分类下的所有子分类id 36518.3.2 使用index_list()函数获取指定分类下的rss抓取内容 36518.3.3 使用content_info()函数获取指定id下的信息 36618.4 娱乐联播后台管理 36618.4.1 rss栏目管理 36618.4.2 添加rss源 37918.4.3 已有rss源管理 38318.4.4 rss头条管理 38818.4.5 rss信息源抓取 39118.5 娱乐联播频道 39518.5.1 娱乐联播主首页 39518.5.2 娱乐联播栏目 40018.6 小结 404第19章 藏宝游戏(php+flash+api) 405教学视频:53分钟19.1 藏宝游戏概述 40519.1.1 藏宝游戏说明 40519.1.2 游戏道具描述 40619.2 数据库设计 40719.2.1 用户领奖信息表 40719.2.2 道具及奖品信息表 40819.2.3 物品详细信息表 40919.2.4 用户资料信息表 41019.2.5 游戏用户的信息表 41119.3 基础设计及说明 41219.3.1 程序分类描述 41219.3.2 文件及目录功能描述 41319.3.3 api封装包说明 41419.3.4 程序返回信息代码说明 41919.4 后台管理程序 42019.4.1 管理显示程序 42019.4.2 管理操作程序 42419.5 藏宝游戏程序 43219.5.1 挖宝游戏程序 43219.5.2 游戏用户信息程序 43919.6 小结 441第20章 图片交易平台(mvc设计模式) 442教学视频:49分钟20.1 系统概述 44220.1.1 基础架构设计 44220.1.2 核心功能描述 44420.2 mvc实现原理 44520.2.1 mvc基础 44520.2.2 model(模型) 44620.2.3 view(视图) 44720.2.4 controller(控制器) 44820.3 数据库设计 44920.3.1 需求分析 44920.3.2 数据库e-r关系图 44920.3.3 数据表设计 45120.4 图片搜索及展示 45420.4.1 图片列表 45420.4.2 图片搜索 46020.4.3 图片详情 46620.5 图片收藏及订购 47020.5.1 图片收藏 47020.5.2 图片购物车 47320.5.3 订单处理流程 47920.6 用户管理中心 48620.6.1 用户登录验证 48720.6.2 订单管理 49020.6.3 收藏夹管理 50520.6.4 出版社信息管理 51220.7 小结 517第21章 在线购物平台(php+jquery+b2c) 518教学视频:55分钟21.1 系统概述 51821.1.1 流程概述 51921.1.2 功能说明 52021.1.3 文件目录结构设计及说明 52121.2 数据库设计 52321.2.1 数据设计概述 52321.2.2 产品数据表 52421.2.3 产品附件数据表 52521.2.4 会员数据表 52621.2.5 订单数据表 52721.3 核心程序说明 52821.3.1 通用表格类 52821.3.2 购物车类 53221.3.3 文件上传类 53321.3.4 图片显示相关类 53921.3.5 公用和配置文件 54121.4 会员管理 54421.4.1 会员注册 54521.4.2 会员登录 54721.4.3 会员资料管理界面 54721.5 产品管理 55021.5.1 产品信息管理 55021.5.2 产品图片管理 55421.6 产品展示与购物车 55621.6.1 购物车 55621.6.2 产品详细页实现 55821.6.3 产品列表 56021.7 订单管理 56421.8 产品搜索 56721.9 小结 569第22章 joomla快速建站模块(php+joomla+xml) 570教学视频:47分钟22.1 joomla基础 57022.1.1 joomla介绍 57022.1.2 joomla整体架构 57122.2 joomla目录及文件说明 57322.2.1 根目录说明 57322.2.2 模板目录说明 57322.2.3 组件目录说明 57522.2.4 模块目录说明 57622.2.5 插件目录说明 57722.3 joomla数据库 57822.3.1 joomla数据库基础 57822.3.2 joomla数据库逻辑关系 58122.3.3 joomla数据库表说明 58122.4 下载与安装 58822.4.1 下载及安装环境需求 58922.4.2 文件包解压及配置设置 58922.4.3 joomla的安装向导 59022.5 后台基础管理 59422.5.1 权限角色划分 59422.5.2 后台概述 59522.5.3 语言管理 59622.5.4 媒体文件管理 60122.5.5 全局设置 60322.6 后台内容管理 60422.6.1 菜单管理 60522.6.2 类别管理 60722.6.3 文章管理 61022.7 插件、组件和模块开发 61322.7.1 插件详解 61422.7.2 组件开发 61922.7.3 模块开发 62522.8 快速建站实例 62922.8.1 系统介绍 63022.8.2 添加网站内容 63022.8.3 安装图片展示插件 63222.8.4 安装留言板组件 63322.8.5 模板基础及规划 63522.8.6 创建导航栏及关联菜单 64022.9 小结 641
没有什么药注意多写代码,多体验代码,多看别人的代码就行
我现在看公司的实际项目,有时候会被一些比如模块调用,外部配置的全局变量,搞不清楚位置;一个个调用关系有时候犯糊涂,这是不是我PHP刚入门,还没找到感觉和经验?
这很正常啊,慢慢知道调用,你就对对象和框架就熟悉了
PL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了「它的存在」。SPL 这块宝石犹如铁达尼的「海洋之心」般,被沉入海底。而现在它应该被我们捞起,并将它穿戴在应有的位置 ,而这也是这篇文章所要表述的观点。那么,SPL 提供了什么?SPL 对 PHP 引擎进行了扩展,例如 ArrayAccess、Countable 和 SeekableIterator 等接口,它们用于以数组形式操作对象。同时,你还可以使用 RecursiveIterator、ArrayObejcts 等其他迭代器进行数据的迭代操作。它还内置几个的对象例如 Exceptions、SplObserver、Spltorage 以及 splautoloadregister、splclasses、iteratorapply 等的帮助函数(helper functions),用于重载对应的功能。这些工具聚合在一起就好比是把多功能的瑞士军刀,善用它们可以从质上提升 PHP 的代码效率。那么,我们如何发挥它的威力?重载 autoloader如果你是位「教科书式的程序员」,那么你保证了解如何使用 __autoload 去代替 includes/requires 操作惰性载入对应的类,对不?但久之,你会发现你已经陷入了困境,首先是你要保证你的类文件必须在指定的文件路径中,例如在 Zend 框架中你必须使用「_」来分割类、方法名称(你如何解决这一问题?)。另外的一个问题,就是当项目变得越来越复杂, __autoload 内的逻辑也会变得相应的复杂。到最后,甚至你会加入异常判断,以及将所有的载入类的逻辑如数写到其中。大家都知道「鸡蛋不能放到一个篮子中」,利用 SPL 可以分离 __autoload 的载入逻辑。只需要写个你自己的 autoload 函数,然后利用 SPL 提供的函数重载它。例如上述 Zend 框架的问题,你可以重载 Zend loader 对应的方法,如果它没有找到对应的类,那么就使用你先前定义的函数。复制代码代码如下:<?phpclass MyLoader { public static function doAutoload($class) { // 本模块对应的 autoload 操作 }}spl_autoload_register( array('MyLoader', 'doAutoload') );?>正如你所见, spl autoload register 还能以数组的形式加入多个载入逻辑。同时,你还可以利用spl autoload unregister 移除已经不再需要的载入逻辑,这功能总会用到的。迭代器迭代是常见设计模式之一,普遍应用于一组数据中的统一的遍历操作。可以毫不夸张的说,SPL 提供了所有你需要的对应数据类型的迭代器。有个非常好的案例就是遍历目录。常规的做法就是使用 scandir ,然后跳过「.「 和 「..」,以及其它未满足条件的文件。例如你需要遍历个某个目录抽取其中的图片文件,就需要判断是否是 jpg、gif 结尾。下面的代码就是使用 SPL 的迭代器执行上述递归寻找指定目录中的图片文件的例子:复制代码代码如下:<?phpclass RecursiveFileFilterIterator extends FilterIterator { // 满足条件的扩展名 protected $ext = array('jpg','gif'); /** * 提供 $path 并生成对应的目录迭代器 */ public function __construct($path) { parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path))); } /** * 检查文件扩展名是否满足条件 */ public function accept() { $item = $this->getInnerIterator(); if ($item->isFile() && in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) { return TRUE; } }}// 实例化foreach (new RecursiveFileFilterIterator('/path/to/something') as $item) { echo $item . PHP_EOL;}?>你可能会说,这不是花了更多的代码去办同一件事情吗?那么,查看上面的代码,你不是拥有了具有高度重用而且可以测试的代码了吗 :)追问
复制的,有意思吗本回答被网友采纳
我有啊不过怕你看不懂啊,不信发你看看啊,这是个OA系统
兄弟连 或者传智