小编0pt*_*1z3的帖子

高效的SELECT查询,可在一个月内查找记录

我有一个MySQL DB表,有多个日期类型字段.我需要在此表上执行不同的SELECT查询,但我不确定哪个方法最适合在同一个月查找记录.

我知道我可以做到以下几点:

SELECT *
  FROM table
 WHERE MONTH(somedate) = 5
   AND YEAR(somedate) = 2015
Run Code Online (Sandbox Code Playgroud)

但是我一直在阅读那些效率不高的内容,我应该使用实际日期,即

SELECT *
  FROM table
 WHERE somedate BETWEEN '2015-05-01' AND '2015-05-31'
Run Code Online (Sandbox Code Playgroud)

但是,我所拥有的只是来自PHP的变量的月份和年份.如果我选择第二个选项,如何轻松快速地计算当月的最后一天?

mysql date

9
推荐指数
1
解决办法
558
查看次数

ORDER BY时间戳,在未来和过去之间使用NULL

我想通过时间戳字段按降序排序SQL结果,最先输入最新的条目.但是,我有一些空白或包含零的行.如何将这些结果夹在未来和过去的行之间?这可以用CASE完成吗?

SELECT * FROM table ORDER BY when DESC
Run Code Online (Sandbox Code Playgroud)

编辑:感谢所有的回复.大家都知道,我选择了MySQL的IFNULL,即

SELECT * FROM table ORDER BY IFNULL(when,UNIX_TIMESTAMP()) DESC
Run Code Online (Sandbox Code Playgroud)

这是最简单的方法,如果包含NULL,则select查询将其替换为当前的unix时间.请注意,我更新了我的数据库并用NULL值替换了所有0.

mysql sql query-optimization

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

PHP CSS分析器 - 字符串的选择器声明

我希望能够读取CSS文件,并能够将给定选择器的所有声明提取到字符串中.例如,给定以下样式表:

h1 {
  font-size: 15px;
  font-weight: bold;
  font-style: italic;
  font-family: Verdana, Arial, Helvetica, sans-serif;
}

div.item {
  font-size: 12px;
  border:1px solid #EEE;
}
Run Code Online (Sandbox Code Playgroud)

我希望能够调用并获得div.item,例如:

$css->getSelector('div.item');
Run Code Online (Sandbox Code Playgroud)

哪个应该给我一个字符串:

font-size:12px;border:1px solid #EEE;
Run Code Online (Sandbox Code Playgroud)

我一直在寻找,但找不到可以做到这一点的解析器.有任何想法吗?

仅供参考:我需要能够从CSS转换选择器并将动态嵌入到电子邮件中的HTML元素中.

解决方案 编辑:我想出了自己的原始解决方案并创建了一个类来完成我想要的工作.请看下面我自己的答案.

css php parsing css-parsing

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

如何在Windows PopState上当前(而非先前)状态

我正在抓取popstate,并且需要根据历史记录堆栈中的current和originalEvent做各种事情。但是,我不知道如何获取当前状态进行比较,但是originalEvent可以工作。这是我的JS代码。第一条IF语句引发未定义e.state.id的异常...

$(window).on("popstate", function(e) {
        //check and compare current state
        if (e.state.id == 'something') {  // throws an exception
            *do something*
        } else if (e.originalEvent.state !== null) { //previous state exists?
            *do something*
        } else { //no previous state
            *do something*
        }
    });
Run Code Online (Sandbox Code Playgroud)

仅供参考,推送状态设置为:

history.pushState({id: 'view'}, '', '/view');
Run Code Online (Sandbox Code Playgroud)

javascript browser-history html5-history

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

将JSON Object成员字符串值连接在一起

"category": [{
      "id": 28,
      "name": "Dogs"
  },
  {
      "id": 14,
      "name": "Cats"
  },
  {
      "id": 878,
      "name": "Sheep"
  }],
Run Code Online (Sandbox Code Playgroud)

我解析了上面的JSON(使用.ajax和jsonp作为回调),我想将"name"的所有值加入到字符串中.即"狗,猫,羊".我怎样才能做到这一点?我尝试过简单加入"类别"和名称,即

var cats = categories.join(", ");
Run Code Online (Sandbox Code Playgroud)

要么

var cats = categories.name.join(", ");
Run Code Online (Sandbox Code Playgroud)

但是既然我们正在查看它的成员及其字符串值,它就不起作用了.

javascript jquery json jsonp

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

如何根据字符串值查找JSON对象成员

所以我们假设我有一个JSON文件:

{ "store": {
"book": [ 
  { "category": "reference",
    "author": "Nigel Rees",
    "title": "Sayings of the Century",
    "price": 8.95
  },
  { "category": "fiction",
    "author": "Evelyn Waugh",
    "title": "Sword of Honour",
    "price": 12.99
  },
  { "category": "fiction",
    "author": "Herman Melville",
    "title": "Moby Dick",
    "isbn": "0-553-21311-3",
    "price": 8.99
  },
  { "category": "fiction",
    "author": "J. R. R. Tolkien",
    "title": "The Lord of the Rings",
    "isbn": "0-395-19395-8",
    "price": 22.99
  }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是抓住"书"的成员及其所有字符串值对,其中标题是"荣誉之剑".我怎么能用JQuery做到这一点?问题是我不知道该成员的索引ID,如果我这样做将是微不足道的,即store.book [1] .XXX会给我所有兄弟键值对的值我正在寻找对于.

有关如何使用最少代码执行此操作的任何想法?

jquery json jsonp getjson

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

在页面加载时创建模态窗口

我正在使用包含模态功能的Kube框架(http://imperavi.com/kube/).不幸的是,文档有点稀疏或者我太笨了(http://imperavi.com/kube/tools/js-modal/).

他们有示例代码显示如何在按钮点击上启动模态,但我尝试在正常负载上启动它.任何对Kube有经验或对JS/JQuery有更好理解的人都能帮我做到吗?我想确保我可以指定宽度和模糊等设置.

我知道有很多模态插件,但我试图将我的项目限制在这个框架中.

javascript jquery modal-dialog css-frameworks

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

PHP sizeof或count不正确

以下是从XML文档转换的数组的print_r:

Array
    (
        [layer1] => Array
            (
                [item] => Array
                    (
                        [item-id] => 1886731
                        [item-name] => Bad Dog
                        [category] => pets
                        [link] = http://www.baddog.com/
                    )
            [total-matched] => 1
        )
    )
Run Code Online (Sandbox Code Playgroud)

对于上面的数组,sizeof($ myarray [layer1] [item])应该返回1,但它返回4.如果有多个"item"项,我会得到正确数量的"item"项.无论我使用"sizeof"还是"count",都会发生同样的错误.当只有一个项目时,如何让PHP返回"1"?

因此,如果有一个项目,我无法使用数组[layer1] [item] [0] [item-name]访问item-name,我必须使用array [layer1] [item] [item-name].

php arrays multidimensional-array

0
推荐指数
1
解决办法
2233
查看次数