小编vik*_*tra的帖子

如何在codeigniter活动记录中使用select插入记录

我想使用CodeIgniter Active Record类实现一个SQL查询.查询看起来像这样..

INSERT california_authors (au_id, au_lname, au_fname)
SELECT au_id, au_lname, au_fname
FROM authors
WHERE State = 'CA'
Run Code Online (Sandbox Code Playgroud)

在不使用$ this-> db->查询方法的情况下,CodeIgniter中是否可以这样做?

方案:

$this->db->select('au_id, au_lname, au_fname');
$this->db->from('california_authors');
$this->db->where('state', 'CA');
$query = $this->db->get();

if($query->num_rows()) {
    $new_author = $query->result_array();

    foreach ($new_author as $row => $author) {
        $this->db->insert("authors", $author);
    }           
}
Run Code Online (Sandbox Code Playgroud)

问候

activerecord codeigniter batch-insert

4
推荐指数
1
解决办法
2万
查看次数

Backbone.js:在Internet Explorer中使用pushstate实现基于斜杠的URL的解决方法

我现在把事情弄得一团糟.我更新到Backbone.js 0.9.1,更新为基于斜杠的URL并开始使用pushstate:true.5天后,我在IE9上测试我的应用程序,并且URL不会粘在他们链接到的页面上.

我做了这样的事情:

main.html中

<a href="/signup">Do Signup</a>
Run Code Online (Sandbox Code Playgroud)

浏览器转到mydomain.com/signup一秒钟,然后跳转到带有URL的main.html mydomain.com/#signup.

恢复到pushstate:true确实解决了简单链接的麻烦,但打破了我定义路由器的路径,如...

SignupRouter = Backbone.Router.extend({
  routes: {
    'signup': 'signup',
    'signup/:key': 'confirm'
  }, initialize: function() {
    // do some stuff here
  }, signup: function() {
    // signup view
  }, confirm: function() {
    // confirm view
  }
});
Run Code Online (Sandbox Code Playgroud)

如果我不使用pushstate,我必须回到为每个页面创建一个单独路由并根据服务器端变量加载路由器的策略(我知道非常原始):

SignupRouter = Backbone.Router.extend({
  initialize: function() {
    // signup view
  }
});

ConfirmSignupRouter = Backbone.Router.extend({
  initialize: function() {
    // confirm view
  }
});
Run Code Online (Sandbox Code Playgroud)

是否有一些IE友好的方式(IE7~9)?服务器端的一些解决方法?什么?

internet-explorer backbone.js pushstate

4
推荐指数
1
解决办法
3591
查看次数

通知用户在codeigniter中成功更新

我正在使用这两行来使用codeigninter活动记录来更新我的表

$this->db->where('reference_number', $reference);
$this->db->update('patient', $data); 
Run Code Online (Sandbox Code Playgroud)

我想要的是检查天气它成功更新表格,并根据我想要通知用户,我如何检查成功更新是否发生在这一行?用户指南中没有任何线索告诉通过放线

if($this->db->update('patient', $data));
Run Code Online (Sandbox Code Playgroud)

会给我们一个真或假的价值,我们可以这样做吗?还是有其他解决方案吗?

问候,Rangana

php error-handling activerecord codeigniter

3
推荐指数
2
解决办法
1万
查看次数

jqGrid TableToGrid删除一行

我试图在jqgrid插件中使用tabletogrid函数.我的问题是如果我删除表中的一行,那么表格单元格的宽度属性就会消失.但是如果删除了最后一行,则删除操作按预期发生.例如,这是我的html表 -

<table id="item_table">
    <thead>
        <tr>
            <th width="60">Date</th>
            <th width="15">Icon</th>
            <th width="80">Shop</th>
            <th width="15">Delete</th>
        </tr>
    <thead>
    <tbody>
        <tr>
            <td width="60" class="col_date">
                <div class="date"></div>
            </td>
            <td width="15" class="col_icon">
                <div class="icon"></div>
            </td>
            <td width="80" class="col_shop">
                <div class="shop"></div>
            </td>
            <td width="25" class="col_delete">
                <div class="delete"></div>
            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后我使用ajax代码将内容添加到表中.之后是我的jqgrid设置.

    jQuery.extend(jQuery.jgrid.defaults, {
        caption: "Shops",
        autowidth: true,
        height: 24,
        hidegrid: false,
        onCellSelect: function(rowid, index, contents, target) {
            if (index == 3) {
                $('#item_table tr:eq(' + rowid + ')').remove();
            }
        },
        colModel:[
            { name: …
Run Code Online (Sandbox Code Playgroud)

jquery jqgrid

3
推荐指数
1
解决办法
2万
查看次数

jqGrid tableToGrid - 如果表中没有找到行,则显示消息

我想在html表上使用jqgrid生成一个网格.我能够这样做,但如果表中没有找到任何行,我想显示一条消息.我怎样才能做到这一点?

这是我的jquery代码......

jQuery.extend(jQuery.jgrid.defaults, {
                caption: "my list",
                autowidth: true,
                height: "100%",
                hidegrid: false,
                loadComplete: function() {
                    alert("Grid has been loaded");
                },
                colModel:[
                   { name: 'date', index: 'date', width: 0, resizable: false },
                   { name: 'icon', index: 'icon', width: 0, resizable: false },
                   { name: 'shop', index: 'shop', width: 0, resizable: false },
                   { name: 'delete', index: 'delete', width: 0, resizable: false }
                ]
            });
            tableToGrid("#item_table", {
               colNames: ['Date', '', 'Shop', 'Delete']
            });
Run Code Online (Sandbox Code Playgroud)

jquery jqgrid

3
推荐指数
1
解决办法
1万
查看次数

Backbone.js:无法将相同的模型添加到集合中两次

我刚开始使用backbone.js.我在从服务器获取数据时遇到问题.这是我从服务器获得的响应.

[{
  "list_name":"list1",
  "list_id":"4",
  "created":"2011-07-07 21:21:16",
  "user_id":"123456"
},
{
  "list_name":"list2",
  "list_id":"3",
  "created":"2011-07-07 21:19:51",
  "user_key":"678901"
}]
Run Code Online (Sandbox Code Playgroud)

这是我的javascript代码......

// Router
App.Routers.AppRouter = Backbone.Router.extend({
    routes: {
        '': 'index'
    },
    initialize: function() {
    },
    index: function() {
        var listCollection = new App.Collections.ListCollection();
        listCollection.fetch({
            success: function() {
                new App.Views.ListItemView({collection: listCollection});
            },
            error: function() {
                alert("controller: error loading lists");
            }
        });
    }
});

// Models
var List = Backbone.Model.extend({
    defaults: {
        name: '',
        id: ''
    }
});

App.Collections.ListStore = Backbone.Collection.extend({
    model: List,
    url: '/lists'
});

// …
Run Code Online (Sandbox Code Playgroud)

javascript backbone.js

3
推荐指数
1
解决办法
6022
查看次数

Backbone.js:何时在导航路线时渲染视图

以下是我的骨干应用程序的要求

  • 显示用户已创建的文件夹列表
  • 单击文件夹时显示文件夹的内容

这是我实现它的方式.

AppRouter = Backbone.Router.extend({
    routes: {
      '': 'home',
      'get/:name/:id': 'contents'
    },

    home: function() {
        // show list of folders
    },

    contents: function(name, id) {
        // show contents of clicked folder
    }
});
Run Code Online (Sandbox Code Playgroud)

这种方法给我带来了问题,因为当我点击文件夹时,路径会保存在浏览器历史记录中并且结构为'domain.com#get/folder/1`.如果我碰巧将此URL粘贴到浏览器的地址栏中,则不会呈现文件夹列表,因为它与路径不匹配.

initialize路由器功能中显示文件夹列表是否是一种智能策略?可能会创建一个页面视图,检查文件夹是否已经显示?

routes views backbone.js

3
推荐指数
1
解决办法
1314
查看次数

jqGrid - 按降序排序加载网格

我正在尝试使用以下代码段对静态网格(由HTML表格制作)进行排序以对其进行排序...

$("#my_table").setGridParam({sortname:'my_date'}).trigger('reloadGrid');
Run Code Online (Sandbox Code Playgroud)

这可以完成工作,但它按升序排序日期.如何按降序对其进行排序?

问候

jquery jqgrid

2
推荐指数
1
解决办法
1万
查看次数

backbone.js:如何为每个骨干类添加自定义方法

我想为每个Backbone类添加一个自定义方法 - 模型,集合,路由器,视图.我怎样才能做到这一点?

这是我到现在为止所做的......

Backbone.Router.prototype.method1 = function() {
    console.log("I came here: router");
};
Backbone.View.prototype.method1 = function() {
    console.log("I came here: view");
};
Backbone.Model.prototype.method1 = function() {
    console.log("I came here: model");
};
Backbone.Collection.prototype.method1 = function() {
    console.log("I came here: collection");
};
Run Code Online (Sandbox Code Playgroud)

我猜想必须有一个更好,更优雅的方式来做到这一点?

更新

这是我最终实现它的方式.感谢关于记录@dira的建议

http://jsfiddle.net/fsFNW/

backbone.js

2
推荐指数
1
解决办法
3605
查看次数

Chrome扩展程序:如何使用内容脚本检测是否安装了扩展程序

在查看stackoverflow上的几个相关问题后,我问这个问题.我从如何检测是否安装了扩展开始.我选择了在某些页面上使用内容脚本向主体添加div的方法.我是这样做的......

的manifest.json

{
    "name": "Install Check",
    "content_scripts": [
        {
            "matches": ["http://host.com/*"],
            "js" : ["insert_node.js"]
        }
    ],
    "permissions": [
        "tabs", "host.com/*"
    ]
}
Run Code Online (Sandbox Code Playgroud)

insert_node.js(内容脚本)

var insert_node = document.createElement('div');
insert_node.id = "HOST_SITE";
document.body.appendChild(insert_node);
Run Code Online (Sandbox Code Playgroud)

主页

<html>
<head>
</head>
<body>
    <h1>This is a host site. Welcome!!!</h1>
    <script src="jquery.js"></script>
    <script src="notification.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

扩展安装脚本

$(document).ready(function() {
    if ($('#HOST_SITE').length > 0) {
        alert("you have our extension installed");
    } else {
        alert("not installed");
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,在not_installedchrome可以在DOM中注入节点之前,始终会弹出带消息的警报.我在这里读了manifest.json中的run_at属性.但这也没有解决问题.我尝试了所有三,,值.我在这里做错了什么?document_startdocument_idle …

google-chrome inject google-chrome-extension content-script

2
推荐指数
1
解决办法
7619
查看次数