小编Mot*_*ive的帖子

使用数组中的参数生成URL

我需要像下面这样采用一个数组:

$subids = Array
    (
        [s1] => one
        [s2] => two
        [s3] => three
        [s4] => four
        [s5] => five
        [s6] => six
    )
Run Code Online (Sandbox Code Playgroud)

并生成一个URL,例如http://example.com?s1=one&s2=two&s3=three=&s4=four&s5=five&s6=six

并非总是定义所有子标识,因此有时可能未定义s3,因此不应将其附加到URL.另外,无论第一个subid是什么,它必须有?在它之前而不是&符号(&)

所以,如果数组只是:

$subids = Array
    (
        [s2] => two
        [s6] => six
    )
Run Code Online (Sandbox Code Playgroud)

那么URL需要是http://example.com?s2=two&s6=six

到目前为止,我有以下内容:

$ url =' http://example.com '

    foreach ($subids AS $key => $value) {
        $result[$id]['url'] .= '&' . $key . '=' . $value;
    }
Run Code Online (Sandbox Code Playgroud)

但是,我不确定追加的最佳方法是什么?在第一个键/值对的开头.

我觉得有一个PHP函数来帮助解决这个问题,但我找不到多少.我正在使用Codeigniter,如果我可以使用CI提供的任何东西.

php arrays

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

在没有表单的情况下获取Codeigniter CSRF令牌?

我在我的站点上启用了CSRF保护,但CSRF令牌放置在隐藏字段中的唯一时间form_close()是使用时间.我通过ajax发布数据,并且需要发送CSRF以防止500错误.

我认为有一种方法可以将CSRF令牌明确地嵌入到页面中,但我似乎无法找到它.

如果页面上没有表单,我如何获得CSRF令牌?

php ajax codeigniter

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

如何在Codeigniter中创建窗口小部件系统

我在Codeigniter中创建了一个自定义CMS,我希望有一个类似于Wordpress中使用的小部件系统.

例如,我想要一个小部件,显示侧栏上显示的最后5个帖子.我还希望能够控制这个小部件逐页显示的页面.

我正在使用Phil Sturgeon的模板库,因此示例控制器如下所示:

$this->template->set_partial('header', 'layouts/header');
$this->template->set_partial('footer', 'layouts/footer');
$this->template->set_partial('sidebar', 'layouts/sidebar');

$this->data['title'] = "Create Post";
$this->template->build('create', $this->data);
Run Code Online (Sandbox Code Playgroud)

我想坚持使用MVC模式,所以我不想在侧边栏视图中放置逻辑,这是我现在唯一能想到的.

HMVC是我应该用的吗?

如何告诉侧边栏显示哪些小部件?

php codeigniter hmvc

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

Codeigniter:一个用于添加和编辑帖子的视图

我正在使用Codeigniter中的CMS,其中一个主要部分是用于创建和编辑帖子的表单.

我一直在计划使用相同的视图文件,因为所有元素都是共享的.唯一的区别是创建时表单是空白的,并且在编辑时填充它.这是正确的方法吗?

我正在考虑为每个方法设置一个方法,所以发布/创建和发布/编辑($ id).

在post控制器的create方法中,我有这样的所有表单数据(用于错误):

  $this->data['item_title'] = array(
    'name' => 'item_title',
    'id' => 'item_title',
    'type' => 'text',
    'value' => $this->form_validation->set_value('item_title'),
  );
Run Code Online (Sandbox Code Playgroud)

我正在考虑改变值来保存数据库值而不是set_value(),所以类似于:

public function edit($id) {

$post_data = $this->post_model->get_post_data($id)

      $this->data['item_title'] = array(
        'name' => 'item_title',
        'id' => 'item_title',
        'type' => 'text',
        'value' => $post_data['post_title'],
      );
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上还是有更好的方法来解决这个问题?我应该只使用2次观看吗?

php codeigniter

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

Twitter Bootstrap按钮js无法正常工作

我正在使用Twitter Bootstrap,我似乎无法让按钮状态发生变化.

我正在从http://jsfiddle.net/YCst4/1/复制js ,我没有收到回复.这就像我没有加载jQuery,但我在头文件中加载了bootstrap.min.js.我在页面上的其他JavaScript没有任何问题.

这就是我在Codeigniter视图中的内容:

<script>
$('#button').button();

$('#button').click(function() {
    $(this).button('loading');
});
</script>

<button class="btn" id="button" type="button" data-text-loading="Loading...">Press Me</button>
Run Code Online (Sandbox Code Playgroud)

关于是什么导致这个的任何想法?是bootstrap-button.js不是Bootstrap附带的bootstrap.min.js的一部分吗?

http://twitter.github.com/bootstrap/javascript.html#buttons

编辑:

当我查看源页面时,我可以看到在头文件视图中加载了bootstrap.min.js,我可以点击它来查看它的源代码,所以路径是正确的.但是,按钮js代码仅在我<script src="http://site.dev/assets/admin/js/bootstrap.min.js"></script>在实际内容视图中重复时才起作用.

我让jQuery在bootstrap.min.js上面加了一行,并且jQuery元素在与按钮完全相同的视图中工作.我很难过.

jquery twitter-bootstrap

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

MySQL中的字段太多了?

几年前,我开发了一个游戏统计网站作为学习项目.它今天仍然使用,我想让它清理一下.

数据库是需要改进的一个领域.我有一个游戏统计表,其中包含GameID,PlayerID,Kills,Deaths,DamageDealt,DamageTaken等.总共有50个字段,可以在将来添加更多字段.在什么地方有太多的领域?它目前有57,341行,单独为153.6 MiB.

我还有一些字段在同一个表中的BLOB中存储数组.数组的一个例子是Player vs Player matchups.该阵列存储该玩家在游戏中杀死另一个玩家的次数.这些是filesize中较大的字段.是否建议将数组存储在BLOB中?

该数组看起来像:

        [Killed] => Array
            (
                [SomeDude] => 13
                [GameGuy] => 10
                [AnotherPlayer] => 8
                [YetAnother] => 7
                [BestPlayer] => 3
                [APlayer] => 9
                [WorstPlayer] => 2
            )
Run Code Online (Sandbox Code Playgroud)

这些往往不超过10名球员.

mysql database-design

7
推荐指数
1
解决办法
968
查看次数

单个MySQL字段,以逗号分隔值

可能重复:
mysql是多列中的数组

我有两张桌子:

帖子表

PostID | Gallery
  1    | 4,7,8,12,13
  2    | 1,2,3,4
  3    | 5,8,9
  4    | 3,6,11,14
Run Code Online (Sandbox Code Playgroud)

Gallery中的值是Images表中的主键:

图像表

ImageID | FileName
   1    | something.jpg
   2    | lorem.jpg
   3    | ipsum.jpg
   4    | what.jpg
   5    | why.jpg
Run Code Online (Sandbox Code Playgroud)

我这样做的原因,而不是只是将一个PostID键添加到Images表是因为这些图像可以与很多不同的帖子相关联.我想我可以为关系添加另一个表,但是就我用来添加它的jQuery脚本而言,逗号分隔值更容易使用.

如果我在一个需要与PostID 3相关联的图像的页面上,我可以运行什么样的查询来输出它的所有文件名?

mysql sql

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

如何将Codeigniter中的CSRF包含到ajax数据中

我试图将一些数据传递到我的控制器,但我得到500错误.经过一些研究,我发现它是由CSRF令牌未被发送引起的.

似乎我需要将其与数据一起包含在内: <?php echo $this->security->get_csrf_token_name(); ?>:"<?php echo $this->security->get_csrf_hash(); ?>"

我的JS非常弱,所以我对如何改变它以包含上述内容感到困惑.

<script type="text/javascript"> 
$(document).ready(function() {
    $("#order").sortable({
        update : function (event, ui) {
            order = $('#order').sortable('serialize');
            $.ajax({
                url: "<?=base_url().'admin/category/update_order'?>",
                type: "POST",
                data: order,
                success: function(response){
                    console.log(response);
                }
            });
        }
    });
}
);
</script>
Run Code Online (Sandbox Code Playgroud)

jquery codeigniter

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

PHP将字符串日期和时间转换为MySQL DateTime

我有两个文本字段,一个用于08/01/2012格式的日期,另一个字段包含时间.我目前的时间字段格式为09:41 am,但我的格式有一些灵活性(例如24小时更容易).

我打算只是连接字符串然后转换.我应该先将日期转换为2012-08-01吗?

我怎样才能最终转换到datetime(2012-08-01 09:41:00)?如何将其转换为08/01/2012和09:41 am格式?

php mysql datetime

5
推荐指数
1
解决办法
5412
查看次数

相当于jQuery中的.parent().parent().siblings()

我一直很难找到合适的选择器而且我刚刚完成了它的工作.parent().parent().siblings(),但我知道必须有一个更好的方法来获得它而不必将它链接起来.

div是动态添加的,这是我发现选择它的唯一可靠方法:

var current = $(".filename:contains('" + file.name + "')").parent().parent().siblings();
current.find("input[name=title]").val(obj.file_name);
Run Code Online (Sandbox Code Playgroud)

这是jsFiddle链接:http://jsfiddle.net/Msnf9/8/

这是HTML:

<div id="uploadifive-fileupload-queue" class="uploadifive-queue">
    <div class="uploadifive-queue-item" id="uploadifive-fileupload-file-0">
        <div class="span12 well">
            <div class="row-fluid">
                <div class="alert">
                    <div class="filename">file-name-1.jpg</div>
                    <div class="fileinfo"> - Completed</div>
                </div>
                <div class="progress">
                    <div class="bar"></div>
                </div>
            </div>

            <div class="row-fluid inputs">
                <div class="span3">
                <ul class="thumbnails">
                    <li class="span12">
                      <a href="#" class="thumbnail">
                        <img src="http://placehold.it/260x180" alt="">
                      </a>
                    </li>
                  </ul>
                </div>
                <div class="span9">
                    <form class="form-horizontal">
                        <fieldset>
                            <div class="control-group">
                                <label class="control-label" for="file-name">File Name</label>
                                <div class="controls">
                                    <span class="input-xlarge uneditable-input file-name" …
Run Code Online (Sandbox Code Playgroud)

jquery

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