站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/简便的数据表操作
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} 本条目详细地介绍一下在sp框架中简便的数据表操作。 ==数据表操作== 使用[[数据库]],首先是需要应用程序配置,留言本中使用了以下的配置: <pre> "db" => array( // 数据库设置 'host' => 'localhost', // 数据库地址,一般都可以是localhost 'login' => 'root', // 数据库用户名 'password' => '123456', // 数据库密码 'database' => 'test', // 数据库的库名称 ), </pre> 配置好了我们的[[应用程序]]后,就可以对每一个数据表,都在model目录下新建一个数据模型类文件。如留言本中的guestbook文件一样。数据模型类文件可以很简单: <pre> <?php class guestbook extends spModel { var $pk = "id"; // 数据表的主键 var $table = "guestbook"; // 数据表的名称 } </pre> 这里要注意的是文件名需要和类名相同,然后设置主键和表名即可。 ==常用函数== 接下来我们就可以在我们的controller程序里面直接使用find/findAll,create之类的函数来替代[[mysql]]函数和[[SQL]]语句了。这里我们介绍几个常用的函数: ===findAll === 按条件查找记录,返回数组 findAll($conditions)的$conditions是条件,可以为空,也可以是数组或者[[字符串]]。比如留言本中: $guestbook = spClass("guestbook"); if( $result = $guestbook->findAll() ){ *$conditions留空代表着查出表中的全部记录。 *$conditions为字符串,那么字符串代表的就是查询条件,如$conditions = " name = 'jake' ";那么将查找“留言者名称是jake”的全部记录。如$conditions = " name = 'jake' AND title = '我是标题"; 将查找“留言者名称是jake,同时留言标题是‘我是标题’”的全部留言。 *$conditions为数组,那么每项分别是一个条件,比如: *$conditions = array("name" => 'jake' , "title" => '我是标题");和$conditions = " name = 'jake' AND title = '我是标题";是一样的。 改写后的main.php就是: <pre> ... function index(){ // 这里是首页 $posturl = spUrl("main", "write"); // 用spUrl制造写留言的地址 echo "<p align=center><h2>我的留言本</h2></p>"; // 下面做一个表单来提交留言,请注意这些输入框的name属性,它们都对应了数据表guestbook的字段名! echo "<p>请写下您的留言:</p><form action={$posturl} method=POST><p>您的名字:<input type=text name=name></p><p> 留言标题:<input type=text name=title></p><p>留言内容:<textarea name=contents></textarea></p><p><input type=submit value=提交></p></form>"; $guestbook = spClass("guestbook"); // 用spClass来初始化留言本数据表对象(模型类对象) $conditions = array("name" => 'jake' , "title" => '我是标题'); if( $result = $guestbook->findAll($conditions) ){ // 用findAll将“留言者名称是jake,同时留言标题是‘我是标题’”的留言查出来 foreach($result as $value){ // 循环输出留言信息 $contentsurl = spUrl("main", "show", array('id'=>$value['id'])); // 用spUrl制造查看留言内容页面地址,请注意array('id'=>$value['id'])将传递ID到查看页面,由spArgs来接收。 echo "<p>这里是第{$value['id']}条留言:<a href={$contentsurl} target=_blank>{$value['title']}</a> {$value['name']}</p>"; } } } ... </pre> 发几条留言,其中有的是符合条件而有的不是,那么我们就可以看出结果来了。 [[Image:Guestbookfindall 1.jpg]] ===create=== 新增一条记录 create用起来很容易,只要我们把一个有着“字段名对应数值”的数组放到create里面,那么就可以在数据表中新建一条记录了。在留言本中,我们是直接将表单提交的[[数据]],也就是spArgs获取到的数据放到create里面的: <pre> ... function write(){ // 这里是留言 $guestbook = spClass("guestbook"); $guestbook->create($this->spArgs()); // 这里用$this->spArgs()取得了表单的全部内容,然后增加了一条留言记录 echo "留言成功,<a href=/index.php>返回</a>"; } ... </pre> 我们可以更详细点写以上的代码: <pre> ... function write(){ // 这里是留言 $guestbook = spClass("guestbook"); $newrow = array( 'name' => $this->spArgs('name'), 'title' => $this->spArgs('title'), 'contents' => $this->spArgs('contents'), ); $guestbook->create($newrow); echo "留言成功,<a href=/index.php>返回</a>"; } ... </pre> 这个和前面的效果是一样的。我们就可以清晰地看到,create($newrow)的$newrow里面是字段名和值的对应了。为什么没有id这个字段呢?是因为id本身是自增量,所以不需要出现在这里,它是会自动赋值的。 ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|J]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)