在我的博客上,我想显示上个月的所有帖子.但如果这不到10个帖子,我想显示最近的10个帖子(换句话说,首页上的帖子永远不应少于10个).我想知道是否有办法在单个查询中执行此操作?
目前,我首先运行此查询:
select count(*) from posts where timestamp > ($thirty_days_ago)
order by timestamp desc
Run Code Online (Sandbox Code Playgroud)
如果该计数大于或等于10:
select * from posts where timestamp > ($thirty_days_ago)
order by timestamp desc
Run Code Online (Sandbox Code Playgroud)
除此以外:
select * from posts order by timestamp desc limit 10
Run Code Online (Sandbox Code Playgroud)
但是这需要我运行两个查询.使用单个查询有更有效的方法吗?(我正在使用MySQL.)
我在Facebook泄露的代码中看到了这个...
$disabled_warning = ((IS_DEV_SITE || IS_QA_SITE) && is_disabled_user($user));
Run Code Online (Sandbox Code Playgroud)
现在除非我读错了然后它说(($ var)可以用作函数吗?
我目前正在使用window.location在jQuery中进行客户端重定向.是否有任何等效的语法来进行客户端重定向?
我正在使用SQL Server 2005,我想查询产生最多收入的供应商,按供应商的名称排序.以下是我试过的查询.内部子查询获得按收入排序的15个最大供应商,我尝试按供应商名称订购这些结果.
SELECT Revenue, VendorName
FROM (
SELECT TOP 15
SUM(po.POTotal) AS Revenue
, Vendors.VendorName AS VendorName
FROM PurchaseOrders po
INNER JOIN Vendors ON po.Vendor_ID = Vendors.Vendor_ID
WHERE ...
GROUP BY Vendors.VendorName
ORDER BY Revenue DESC
)
ORDER BY VendorName ASC
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误信息:
消息156,级别15,状态1,行14
关键字"ORDER"附近的语法不正确.
还有另一种方法吗?我认为这可能是一种观点,但我宁愿不这样做.
如果这是重复的话我很抱歉,我甚至不知道要搜索什么,看看是否已经被问过.
我正在尝试编写一个 perl 脚本来识别带有 Windows EOL 字符的文件,但\r匹配似乎不起作用。
这是我的测试脚本:
#!/usr/bin/perl
use File::Slurp;
$winfile = read_file('windows-newlines.txt');
if($winfile =~ m/\r/) {
print "winfile has windows newlines!\n"; # I expect to get here
}
else {
print "winfile has unix newlines!\n"; # But I actually get here
}
$unixfile = read_file('unix-newlines.txt');
if($unixfile =~ m/\r/) {
print "unixfile has windows newlines!\n";
}
else {
print "unixfile has unix newlines!\n";
}
Run Code Online (Sandbox Code Playgroud)
这是它的输出:
winfile has unix newlines!
unixfile has unix newlines!
Run Code Online (Sandbox Code Playgroud)
我在 Windows 上运行它,我可以在 Notepad++ 中确认这些文件肯定具有正确的 …
我有一个页面,当前正在使用日期时间微格式来显示时间戳,但我只显示了我自己时区的人类可读时间:
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 9:16 am (EST)</abbr>
Run Code Online (Sandbox Code Playgroud)
我想要做的是将abbr标签的innerHTML重写为相同的格式,但是在用户的本地时区.因此,对于西雅图的读者,上述内容应转换为:
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 6:16 am (PST)</abbr>
Run Code Online (Sandbox Code Playgroud)
我查看了Javascript Date对象,它允许我获取本地时区偏移量.但我有一些问题:
我没有看到从ISO-8601时间戳创建新Date对象的简单方法.(我想如果没有更快的方法,我可以解析子串或正则表达式.)
我没有看到获得时区命名缩写的方法.例如,对于西雅图的读者,我希望有时间将"(PST)"附加到最后,否则该用户不清楚时间戳已被转换(特别是如果他是常客和已经习惯了我的时代在EST).
下面哪一个是正确的?第一个代码在$ _GET数组中没有引号,第二个代码没有引号,我知道当它是一个文本字符串时你应该有它们但在这种情况下它是一个变量,如果键是一个数字呢?
没有报价
function arg_p($name, $default = null) {
return (isset($_GET[$name])) ? $_GET[$name] : $default;
}
Run Code Online (Sandbox Code Playgroud)
带引号
function arg_p($name, $default = null) {
return (isset($_GET['$name'])) ? $_GET['$name'] : $default;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用此代码进行登录,但是当我输入用户名和密码时,它只会加载页面并再次显示登录页面.为什么会这样?
<?php
session_start();
if(!isset($_POST['username']) || !isset($_POST['password']) || empty($_POST['username']) || empty($_POST['password']))
{
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Welcome to yachts database </title>
<script type="text/javascript">
function validate()
{
var username=document.getElementById("username").value;
var password=document.getElementById("password").value;
if(username.length==0)
{
alert("Please enter your user name");
document.getElementById("username").focus();
document.getElementById("username").select();
return false;
}
if(password.length==0)
{
alert("Please enter your password");
document.getElementById("password").focus();
document.getElementById("password").select();
return false;
}
submitOK="false";
}
</script>
<?php
include("styles.txt");
?>
</head>
<body onLoad="self.focus();document.login.username.focus()">
<br><br><br><br><br><br><br>
<center><font size=5 color=blue><b>University of ....... </b></font></center>
<center><font size=5 color=blue><b>Yachts Database Project</b></font></center>
<form name="login" method="post" action="<?php …Run Code Online (Sandbox Code Playgroud) 我发现自己在ColdFusion中编写了这样的代码:
<cfset inputval = "" />
<cfif IsDefined("Form.Releases")>
<cfset inputval = Form.Releases />
</cfif>
Run Code Online (Sandbox Code Playgroud)
这非常麻烦.我只想将未定义的值转换为空字符串.有什么样的捷径吗?
例如,在PHP中我使用strval函数执行此操作,即:
$inputval = strval($_POST['Releases']);
Run Code Online (Sandbox Code Playgroud) 我有这个SQL查询:
SELECT DISTINCT r.uri uri
FROM resource r
INNER JOIN object o ON o.idResource = r.idResource
WHERE r.type = 2
AND r.idResource IN (
SELECT DISTINCT r1.idResource
FROM object o1
INNER JOIN resource r1 ON r1.idResource = o1.idResource
INNER JOIN class c1 ON c1.idClass = o1.idClass
INNER JOIN property p2 ON p2.idResource = c1.idResource
INNER JOIN object_value ov2 ON ov2.idProperty = p2.idProperty
AND ov2.idObject = o1.idObject
WHERE c1.idResource = 364
AND (p2.idProperty = 4 AND ov2.value LIKE '%dave%')
)
Run Code Online (Sandbox Code Playgroud)
哪个在phpmyadmin(mysql)中运行正常,但在PHP代码中没有,它会给出超时. …
我想在Javascript和Java代码中找到RSA代码.并且他们可以在加密和解密中返回相同的结果.
我的目的是:我可以使用Javascript(使用公钥)在用户的浏览器中加密消息.我可以在我的服务器中解密该消息(使用私钥).
我在互联网上找到但Javascript和Java返回差异结果:如果我使用Javascript加密,我无法使用Java解密.
php ×4
syntax ×4
javascript ×3
mysql ×2
sql ×2
arrays ×1
coldfusion ×1
encryption ×1
html ×1
java ×1
jquery ×1
microformats ×1
perl ×1
redirect ×1
security ×1
sql-server ×1
subquery ×1
timestamp ×1
timezone ×1