PHP China | 中国开源之路 's Archiver

PHPChina 发表于 2007-4-7 09:47

FleaPHP CRUD 视频配套习题 - 提供最佳答案的获得勋章一枚

FleaPHP CRUD 视频配套习题,得到最佳答案者,赠送一枚勋章([url=http://phpchina.com/bbs/thread-22847-1-1.html]点击查看勋章的作用[/url])。

学习FLeaPHP CRUD视频:[url=http://www.phpchina.com/bbs/forum-147-1.html]http://www.phpchina.com/bbs/forum-147-1.html[/url]

下载FleaPHP:[url=http://www.phpchina.com/25986/viewspace_6301.html]http://www.phpchina.com/25986/viewspace_6301.html[/url]



习题1:
按照title字段正向排序,读取posts数据表的最前面5条记录。


习题2:
按照created字段反向排序,读取posts数据表从第21条开始的3条记录,并且只读取title字段


习题3:
读取所有指定了php标签的posts表的记录,并且只读取title字段


习题4:
以随机内容,在posts表连续创建10条记录


习题5:
在创建post记录的同时指定php和crud标签

[color=Red]注意 [/color]最好用FleaPHP来编写。例如第一题:
$rowset = $tablePosts->findAll(null, ‘title ASC’, 5);

漠北怪叟 发表于 2007-4-7 10:03

1 select * from `posts` order by `title` limit 5
2 select `title` from `posts` order by `created` desc limit 20,3

后面的不明白标签与环境~~ 另外.不要在弹出提示了.很烦

dzjzmj 发表于 2007-4-7 11:18

不错,但怎么感觉到变成FleaPHP专题了

PHPChina 发表于 2007-4-7 12:29

[quote]原帖由 [i]dzjzmj[/i] 于 2007-4-7 11:18 发表 [url=http://phpchina.com/bbs/redirect.php?goto=findpost&pid=169914&ptid=22688][img]http://phpchina.com/bbs/images/common/back.gif[/img][/url]
不错,但怎么感觉到变成FleaPHP专题了 [/quote]

嗯,我们这期讨论的是有关PHP书籍。因为每期都讨论概念上的东西,所以我们慢慢加上代码练习。

PHPChina将重点推广ZF和FleaPHP,因此才会放FleaPHP的题。

PHPChina 发表于 2007-4-7 12:30

[quote]原帖由 [i]漠北怪叟[/i] 于 2007-4-7 10:03 发表 [url=http://phpchina.com/bbs/redirect.php?goto=findpost&pid=169882&ptid=22688][img]http://phpchina.com/bbs/images/common/back.gif[/img][/url]
1 select * from `posts` order by `title` limit 5
2 select `title` from `posts` order by `created` desc limit 20,3

后面的不明白标签与环境~~ 另外.不要在弹出提示了.很烦 [/quote]

最好用FleaPHP来编写。例如第一题:
[font=Calibri][size=10.5pt]$rowset = $tablePosts->findAll(null, ‘title ASC’, 5);[/size][/font]

fleaphp 发表于 2007-4-7 23:16

[quote]原帖由 [i]muqiao[/i] 于 2007-4-7 11:40 发表 [url=http://www.phpchina.com/bbs/redirect.php?goto=findpost&pid=169928&ptid=22688][img]http://www.phpchina.com/bbs/images/common/back.gif[/img][/url]
没兴趣

愿研究其代码 不愿用其代码 [/quote]

既然愿意研究代码,为何又没有兴趣用呢?

如果你能告诉我们, fleaphp 有哪些不足,就可以帮助我们更好的改进 fleaphp。这也是对我们开源项目的一种有力支持 :)

szy_session1987 发表于 2007-4-8 10:20

:lol :lol  没有测试. 支持 FLEAPHP 支持老廖哈.



习题1:
按照title字段正向排序,读取posts数据表的最前面5条记录。[code]        $sort = 'title ASC';
        $rowset = $tablePosts->findAll(null, $sort, 5);

    [/code]习题2:
按照created字段反向排序,读取posts数据表从第21条开始的3条记录,并且只读取title字段[code]    $sort = 'created DESC';
   
    $limit = array(20, 3);
    $fields = 'title';
    $rowset  = $tablePosts->findAll(null, $sort, $limit, $fields);
   
    [/code]习题3:
读取所有指定了php标签的posts表的记录,并且只读取title字段[code]        $conditions = array(array('tags.lable', 'php'));
        $fields = 'title';
        $rowset  = $tablePosts->findAll($conditoins, null, null, $fields);
    [/code]习题4:
以随机内容,在posts表连续创建10条记录[code]        for ($i = 0; $i < 11; $i++){
            $row = array(
                'title'        => '标题' . $i,
                'body'        => '内容' . $i,
            );
            $postid = $tablePosts->create($row);
        }

        

    [/code]习题5:
在创建post记录的同时指定php和crud标签[code]        $row =  array(
                'title'        => '测试一',
                'body'        => '测试内容',
                'tags'        => array(
                    array(
                        'label'        => 'php',                    
                    ),
                    array(
                        'label'        => 'crud',
                    ),
                )            
        );
        $postid = $tablePosts->create($row);

    [/code]

[[i] 本帖最后由 szy_session1987 于 2007-4-8 10:48 编辑 [/i]]

默默 发表于 2007-4-8 13:55

支持

leehui1983 发表于 2007-4-9 09:18

支持下,不过我觉得还是形成统一的好,我比较喜欢ZF

mz198424 发表于 2007-4-9 10:49

支持

xiao磊 发表于 2007-4-9 16:08

不是很懂了,顶一下!

支持你了!

imacoo 发表于 2007-4-9 19:53

:lol

the_loong 发表于 2007-4-9 23:48

支持国产

niohe 发表于 2007-4-10 00:42

回复管理员出的题,所有代码经过测试!

PHP 代码:
[php]<?php

require_once('FLEA.php');
FLEA::setAppInf('internalCacheDir',dirname(__FILE__).'/_Cache');
$dsn = array('driver' => 'mysql',
             'host' => 'localhost',
             'login' => 'root',
             'password' => 'ybnews',
             'database' => 'fleaphp',);
FLEA::setAppInf('dbDSN',$dsn);
FLEA::loadClass('FLEA_Db_TableDataGateway');

class Table_Posts extends FLEA_Db_TableDataGateway {
    var $tableName = 'posts';
    var $primaryKey = 'post_id';
    var $manyToMany = array(
           array('tableClass' => 'Table_Tags',
                 'foreignKey' => 'post_id',
                 'assocForeignKey' => 'tag_id',
                 'joinTable' => 'posts_tags',
                 'mappingName' => 'tags',
           ),
    );
}

class Table_Tags extends FLEA_Db_TableDataGateway {
    var $tableName = 'tags';
    var $primaryKey = 'tag_id';
}

$tablePosts = & get_singleton('Table_Posts');
$tableTags = & get_singleton('Table_Tags');

// 第1题答案
/*$rowset = $tablePosts->findAll(null,'title ASC',5);
dump($rowset);*/

// 第2题答案
/*$rowset = $tablePosts->findAll(null,'created DESC',array(3,20),array('title'));
dump($rowset);*/

// 第3题答案
/*$conditions = array(array('tags.lable','php'));
$rowset = $tablePosts->findAll($conditions,null,null,'title');
dump($rowset);*/

// 第4题答案
/*$i = 1;
while ($i <= 10){
    $row = array('title' => '第'.$i.'条日志标题',
                 'content' => '第'.$i.'条日志内容',);
    $postid[] = $tablePosts->create($row);
    $i++;
}*/

// 第5题答案
/*$row = array('title' => '测试标签记录',
             'content' => '测试标签记录的内容',
             'tags' => array(array('lable' => 'php'),
                       array('lable' => 'curd'),),);
$postid = $tablePosts->create($row);
$rowset = $tablePosts->find($postid);
dump($rowset);*/[/php]
MySQL 代码(PHPMYADMIN导出):
[code]-- phpMyAdmin SQL Dump
-- version 2.8.2
-- [url]http://www.phpmyadmin.net[/url]
--
-- 主机: localhost
-- 生成日期: 2007 年 04 月 10 日 00:43
-- 服务器版本: 5.0.37
-- PHP 版本: 5.2.1
--
-- 数据库: `fleaphp`
--

-- --------------------------------------------------------

--
-- 表的结构 `posts`
--

DROP TABLE IF EXISTS `posts`;
CREATE TABLE IF NOT EXISTS `posts` (
  `post_id` int(10) unsigned NOT NULL auto_increment,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  `created` int(10) NOT NULL,
  PRIMARY KEY  (`post_id`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 AUTO_INCREMENT=36 ;

-- --------------------------------------------------------

--
-- 表的结构 `posts_tags`
--

DROP TABLE IF EXISTS `posts_tags`;
CREATE TABLE IF NOT EXISTS `posts_tags` (
  `post_id` int(10) unsigned NOT NULL,
  `tag_id` int(10) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- 表的结构 `tags`
--

DROP TABLE IF EXISTS `tags`;
CREATE TABLE IF NOT EXISTS `tags` (
  `tag_id` int(10) unsigned NOT NULL auto_increment,
  `lable` varchar(255) NOT NULL,
  PRIMARY KEY  (`tag_id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
[/code]

qingis 发表于 2007-4-10 11:29

应该支持~!..

h058 发表于 2007-4-10 17:01

观望中 或许fleaphp真的不错,

PHPChina 发表于 2007-4-11 10:31

niohe  (网缘伟伟) ,很有可能获奖。:D

niohe 发表于 2007-4-11 11:58

呵呵 多谢管理员哈!:P

h058 发表于 2007-4-11 13:52

恭喜

leehui1983 发表于 2007-4-11 17:20

恭喜

页: [1] 2 3

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.