我有一个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的变量的月份和年份.如果我选择第二个选项,如何轻松快速地计算当月的最后一天?
我想通过时间戳字段按降序排序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.
我希望能够读取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元素中.
解决方案 编辑:我想出了自己的原始解决方案并创建了一个类来完成我想要的工作.请看下面我自己的答案.
我正在抓取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) "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)
但是既然我们正在查看它的成员及其字符串值,它就不起作用了.
所以我们假设我有一个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会给我所有兄弟键值对的值我正在寻找对于.
有关如何使用最少代码执行此操作的任何想法?
我正在使用包含模态功能的Kube框架(http://imperavi.com/kube/).不幸的是,文档有点稀疏或者我太笨了(http://imperavi.com/kube/tools/js-modal/).
他们有示例代码显示如何在按钮点击上启动模态,但我尝试在正常负载上启动它.任何对Kube有经验或对JS/JQuery有更好理解的人都能帮我做到吗?我想确保我可以指定宽度和模糊等设置.
我知道有很多模态插件,但我试图将我的项目限制在这个框架中.
以下是从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].
javascript ×3
jquery ×3
json ×2
jsonp ×2
mysql ×2
php ×2
arrays ×1
css ×1
css-parsing ×1
date ×1
getjson ×1
modal-dialog ×1
parsing ×1
sql ×1