小编mis*_*tin的帖子

该月的第 N 个工作日

我想做的伪代码:

SELECT * FROM table WHERE NTH_DAY(DATE(table_date)) = NTH_DAY($input_date);
Run Code Online (Sandbox Code Playgroud)

我想确定给定日期该月的第 n 个工作日。例如,如果输入“2013-08-30”,则应返回 5,因为这是该月该工作日(星期五)第五次出现。

我读过无数类似的问题,但大多数都在寻找相反的问题,例如他们想找到第五个星期五的日期,而我想确定日期的第 n 个数字是多少。其他问题似乎是我所追求的,但它们采用的是我不理解的不同编程语言。

有人可以解释一下这在 MySQL 查询中是否可行以及如何实现吗?

mysql

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

使用CSS绘制文件夹图标

我正在尝试用CSS绘制一个简单的文件夹图标,这就是我所处的位置:

/* CSS */
.container {
  border: solid 1px #000;
  width: 100px;
  height: 100px;
  padding: 5px;
  text-align: center;
}
.folder_tab, .folder {
  margin: 0 auto;
  background-color: #708090;
}
.folder_tab {
  width: 25px;
  height: 5px;
  margin-right: 50%;
  border-radius: 5px 15px 0 0;
}
.folder {
  width: 50px;
  height: 35px;
  border-radius: 0 5px 5px 5px;
  box-shadow: 1px 1px 0 1px #CCCCCC;
}

<!-- HTML -->
<div class="container">
  <div class="folder_tab"></div>
  <div class="folder"></div>
  text
</div>
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

有没有更简单,更优雅的方式来做到这一点?

css

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

为什么strftime('%G',strtotime('2017-01-01'))产生2016?

我在PHP 5.6中发现了一个可能的错误.strftime带参数的函数%G生成4位数年份.然而,它似乎回归错误的一年1483246800- 即2017年1月1日.它将返回2016年!

示例代码段:

echo strftime('%G', strtotime('2017-01-01'));
Run Code Online (Sandbox Code Playgroud)

这应该打印"2017",但我得到"2016".我正在运行PHP 5.6.这种边缘情况也出现在其他年份 - 例如2016-01-03输出2015而不是2016.

php strftime

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

选择第一个字符是数字的位置

我正在创建一个查询,该查询应返回以0-9或az开头的标题,具体取决于请求的内容.我在title列上有一个索引,所以对于我正在做的各个字母:

SELECT * FROM table WHERE title LIKE 'a%';
SELECT * FROM table WHERE title LIKE 'b%';
SELECT * FROM table WHERE title LIKE 'c%';
/* etc... */
Run Code Online (Sandbox Code Playgroud)

然而,对于这些数字来说,它的数字并不重要,唯一重要的是第一个字符是数字.我想要的东西:

SELECT * FROM table WHERE title LIKE '0%'
                       OR title LIKE '1%';
                       OR title LIKE '2%';
                       OR title LIKE '3%';
/* etc... */
Run Code Online (Sandbox Code Playgroud)

但这感觉有点草率.据我所知,正则表达式对索引不会很好,我不确定字符串函数.是否WHERE SUBSTRING(title,1,1) IN (0,1,2,3,4,5,6,7,8,9)仍然会利用索引或是否有更紧凑的方法来做到这一点?

mysql sql database

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

MVC验证建议

我目前正在验证输入并在"胖控制器"中返回错误,如下所示:

class SomeController
{
    public function register()
    {
        // validate input
        $username = isset($_POST['username']) && strlen($_POST['username']) <= 20 ? $_POST['username'] : null;

        // proceed if validation passed
        if (isset($username)) {
            $user = $this->model->build('user');
            if ($user->insert($username)) {
                $_SESSION['success'] = 'User created!';
            } else {
                $_SESSION['error'] = 'Could not register user.';
            }
        } else {
            $_SESSION['failed']['username'] = 'Your username cannot be greater than 20 characters.';
        }

        // load appropriate view here
    }
}

class SomeModel
{
    public function insert($username)
    {
        // sql …
Run Code Online (Sandbox Code Playgroud)

php validation error-handling model-view-controller

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