• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ajax实时任务提示功能的实现代码第1/2页
    POST TIME:2021-10-18 06:21
    项目代码结构见 我之前写的[EXT/FCKEditor 集成 -- AJAX UI -- 一种web开发的新的思维,要及时转换思想]一文.
    中的
    ├─taskofpig
    │ ├─Controller
    │ ├─Dao
    │ ├─js
    │ ├─music
    │ ├─tpl
    │ ├─tpl_c
    │ └─_log
    项目代码如下:
    db.sql
    SET FOREIGN_KEY_CHECKS=0;
    -- ----------------------------
    -- Table structure for task
    -- ----------------------------
    CREATE TABLE `task` (
    `id` int(11) NOT NULL,
    `title` varchar(100) collate utf8_unicode_ci NOT NULL,
    `desc` text collate utf8_unicode_ci,
    `date` datetime NOT NULL,
    `created` int(11) default NULL,
    `updated` int(11) default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    -- ----------------------------
    -- Table structure for task_seq
    -- ----------------------------
    CREATE TABLE `task_seq` (
    `id` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    /ucren/taskofpig/index.php
    ?php
    //设置正确的时区
    date_default_timezone_set("Asia/Shanghai");
    define('TASKOFPIG_DIR',dirname(__FILE__)) ;
    require('../phplibs/FLEA/FLEA.php');
    // 对$GLOBALS[G_FLEA_VAR]['CLASS_PATH'] 进行配置
    FLEA::import(TASKOFPIG_DIR); //将当前目录加入到环境变量中
    FLEA::loadAppInf('appConfig.php') ; //将配置文件单独分出来,容易维护
    FLEA::init();
    // 由于 FLEA_Db_TableDataGateway 并不是自动载入的,因此需要明确载入
    FLEA::loadClass('FLEA_Db_TableDataGateway');
    FLEA::runMVC();
    ?>
    /ucren/taskofpig/appConfig.php
    ?php
    // 对 $GLOBALS[G_FLEA_VAR]['APP_INF'] 进行配置
    return array(
    'dispatcher' => 'FLEA_Dispatcher_Simple' , //定制调度器 FLEA_Dispatcher_Auth
    'controllerAccessor' => 'ctl' ,
    'actionAccessor' => 'act' ,
    'view' => 'FLEA_View_Smarty', //定制视图
    'viewConfig' => array(
    'smartyDir' => '../phplibs/Smarty',
    'template_dir' => './tpl',
    'compile_dir' => './tpl_c',
    'left_delimiter' => '%',
    'right_delimiter' => '%>',
    'debugging' => false
    ),
    'dbDSN' => array( //定制数据库连接参数
    'driver' => 'mysql',
    'host' => 'localhost',
    'login' => 'dbuser',
    'password' => 'dbpass',
    'database' => 'dbname' ,
    'charset ' => 'utf8'
    ) ,
    'logFileDir' => './log' , //定制日志
    'logFilename' => 'task_admin.log'
    );
    ?>
    /ucren/taskofpig/Dao/Table.php
    ?php
    //生气猪的任务计划表
    class Dao_TaskTable extends FLEA_Db_TableDataGateway
    {
    // 指定数据表名称
    var $tableName = 'task';
    // 指定主键字段名
    var $primaryKey = 'id';
    }
    ?>
    /ucren/taskofpig/Controller/Default.php
    ?php
    FLEA::loadFile('Dao_Table.php',true) ;
    FLEA::loadFile('FLEA_Ajax_JSON.php',true) ;
    class Controller_Default extends FLEA_Controller_Action
    {
    var $smarty ;
    function Controller_Default()
    {
    $this->smarty = $this->_getView();
    $this->smarty->assign('sitename','任务计划表 -- 生气猪') ;
    $this->smarty->assign('opname','任务列表') ;//缺省应该在子模块中更改值
    }
    function actionIndex()
    {
    $this->toModulePage(); //缺省显示任务列表页
    }
    //定义一个函数用于调用FCKeditor
    function call_fck($input_name,$input_value,$w='800',$h='400')
    {
    include_once '../fckeditor/fckeditor.php';
    $fcked = new FCKeditor($input_name) ;
    $fcked->BasePath = '../fckeditor/';
    $fcked->ToolbarSet = 'Default' ; //工具栏设置
    $fcked->InstanceName = $input_name ;
    $fcked->Width = $w;
    $fcked->Height = $h;
    $fcked->Value = $input_value;
    $fck_area = $fcked->CreateHtml();
    $this->smarty->assign('fck_area',$fck_area);
    unset($fck_area) ;
    unset($fcked) ;
    }
    function _showPage($tpl='taskofpig.main.html')
    {
    $this->smarty->display($tpl);
    }
    function actionAdd()
    {
    $this->addTask();
    }
    function actionUpdate()
    {
    $this->updateTask();
    }
    function deleteTask($id){
    $row = array('id'=>$id);
    $thisDao = new Dao_TaskTable() ;
    $status = $thisDao->remove($row); //返回boolean值
    unset($thisDao);
    return $status ;
    }
    function listTask()
    {
    $thisDao = new Dao_TaskTable() ;
    $rows = $thisDao->findAll(); //二维数组
    foreach($rows as $row) //注意这里要传引用
    {
    $row['desc'] = mb_substr($row['desc'],0,40,'UTF-8');
    }
    $this->smarty->assign('rowSet',$rows);
    $this->_showPage();
    }
    function addTask()
    {
    $thisDao = new Dao_TaskTable() ;
    $row = array(
    'title' => $_REQUEST['title'],
    'desc' => $_REQUEST['desc'],
    'date' => $_REQUEST['date']
    );
    $commitId = $thisDao->create($row);
    unset($thisDao);
    echo "成功添加新任务";
    redirect( url("Default"),1) ;
    }
    function updateTask()
    {
    $thisDao = new Dao_TaskTable() ;
    $row = array(
    'id' => $_REQUEST['id'],
    'title' => $_REQUEST['title'],
    'desc' => $_REQUEST['desc'],
    'date' => $_REQUEST['date']
    );
    $commitId = $thisDao->update($row);
    unset($thisDao);
    echo "成功更新任务";
    redirect( url("Default"),1) ;
    }
    function queryTask($id){
    $thisDao = new Dao_TaskTable() ;
    $row = $thisDao->find(array('id'=>$id));
    unset($thisDao);
    return $row ;
    }
    function queryTaskForDate($date=null)
    {
    $thisDao = new Dao_TaskTable() ; //'2008-08-17 07:42:29'
    $row = $thisDao->find(array('date'=>date('Y-m-d H:i:s')));
    unset($thisDao);
    if (!empty($row))
    {
    $jsonobj = new Services_JSON();
    echo $jsonobj->encode($row);
    }
    else
    die(date('Y-m-d H:i:s'));
    }
    //任务流转控制方法
    function toModulePage()
    {
    if ($_REQUEST['op'] == 'search') {
    $this->queryTaskForDate();
    }
    else if ($_REQUEST['op'] == 'add') {
    $this->smarty->assign('opname','添加新任务') ;
    $this->smarty->assign('taskTime',date('Y-m-d H:i:s')) ;
    $this->call_fck('desc','');
    $this->_showPage('taskofpig.add.html');
    }
    else if ($_REQUEST['op'] == 'del') {
    if ( isset($_REQUEST['id']) is_numeric($_REQUEST['id']) )
    $status = $this->deleteTask($_REQUEST['id']) ;
    $this->listTask();
    }
    else if ($_REQUEST['op'] == 'edit') {
    if ( isset($_REQUEST['id']) is_numeric($_REQUEST['id']) ){
    $row = $this->queryTask($_REQUEST['id']) ;
    }
    $this->call_fck('desc',$row['desc']);
    unset($row['desc']) ;
    $this->smarty->assign('rowSet',$row);
    $this->smarty->assign('opname','修改任务') ;
    $this->_showPage('taskofpig.edit.html');
    }
    else { //列表
    $this->listTask();
    }
    }
    }
    ?>
    12下一页阅读全文
    您可能感兴趣的文章:
    • ASP.NET搭配Ajax实现搜索提示功能
    • jquery ajax请求方式与提示用户正在处理请稍等
    • php+ajax做仿百度搜索下拉自动提示框(有实例)
    • ajax 自动完成下拉框 自动提示位置问题
    • asp+ajax仿google搜索提示效果代码
    • 使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
    • ajax Suggest类似google的搜索提示效果
    • jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
    • asp.net+js实现的ajax sugguest搜索提示效果
    • Ajax实现智能提示搜索功能
    上一篇:仿google搜索提示 SuggestFramework的使用
    下一篇:php ajax网站浏览统计功能的简单实现第1/2页
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信