小编Iva*_*van的帖子

MySQL:得到几列的MAX或GREATEST,但是有NULL字段

我试图在每个记录(MySQL)的三个不同字段中选择最大日期所以,在每一行中,我有date1,date2和date3:date1总是填充,date2和date3可以是NULL或空GREATEST语句是简单而简洁但对NULL字段没有影响,所以这不能很好地工作:

SELECT id, GREATEST(date1, date2, date3) as datemax FROM mytable
Run Code Online (Sandbox Code Playgroud)

我尝试了更复杂的解决方案,如下所示:

SELECT
    CASE
        WHEN date1 >= date2 AND date1 >= date3 THEN date1
        WHEN date2 >= date1 AND date2 >= date3 THEN date2
        WHEN date3 >= date1 AND date3 >= date2 THEN date3
        ELSE                                        date1
    END AS MostRecentDate
Run Code Online (Sandbox Code Playgroud)

这里的问题相同:返回正确的记录时,NULL值是一个很大的问题

拜托,你有解决方案吗?提前致谢....

mysql null max

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

CodeIgniter:控制器中的全局变量

我是CodeIgniter的新手,在我继续的时候遇到的问题是,在程序编码中,很容易修复

目前的问题是:我有这个控制器

class Basic extends Controller {

    function index(){
        $data['title'] = 'Page Title';
        $data['robots'] = 'noindex,nofollow';
        $data['css'] = $this->config->item('css');
        $data['my_data'] = 'Some chunk of text';
        $this->load->view('basic_view', $data);
    }

    function form(){
        $data['title'] = 'Page Title';
        $data['robots'] = 'noindex,nofollow';
        $data['css'] = $this->config->item('css');
        $data['my_other_data'] = 'Another chunk of text';
        $this->load->view('form_view', $data);
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,一些数组项重复:

$data['title'] = 'Page Title';
$data['robots'] = 'noindex,nofollow';
$data['css'] = $this->config->item('css');
Run Code Online (Sandbox Code Playgroud)

难道没有办法让它们在控制器中"全局",所以我不必为每个函数键入它们吗?像(但这给我错误):

class Basic extends Controller {

    // "global" items in the $data array
    $data['title'] = 'Page Title';
    $data['robots'] = …
Run Code Online (Sandbox Code Playgroud)

arrays controller codeigniter global-variables

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

利用.net中的web.config进行浏览器缓存?

有些站点位于共享主机(Windows 2003 Server)上,因此我无法访问服务器配置.

我到处读到有关杠杆浏览器缓存的信息,特别是对于静态文件(jpg,css,js等),但是......在我的情况下如何做到这一点?

主机安装了.NET,web.config文件可以以某种方式帮助吗?如果有,怎么样?

.net web-config static-files browser-cache

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

在加载和单击时调用相同的jQuery函数

在我的"更新"页面中,我经常需要在页面加载和单击某个复选框上调用相同的jQuery函数,大多数情况如下:

function foo(){
    if ($('#mycheckbox').is(':checked')){
        $('.myclass').hide();
    } else {
        $('.myclass').show();
    }
}

$(function() {

    foo(); // this is launched on load
    $('#mycheckbox').click(function(){
        foo(); // this is launched on checkbox click
    })  

});
Run Code Online (Sandbox Code Playgroud)

在页面加载时,可以根据数据库值检查或不检查复选框:这就是为什么我需要启动foo(); 负载

嗯,这很好,但我总是想知道......是否有更好或最优雅的解决方案?提前致谢

checkbox jquery load function click

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

Laravel 5.3,检查上传文件是否大于upload_max_filesize(可选上传)

在Laravel 5.3中,我试图捕获上传文件的文件大小是否大于upload_max_filesize.上传字段不是必需的.

我尝试过这种方法,但它不起作用

public function checkFile($field)
{
    if (request()->hasFile($field)){ // check if field is present
        $file = request()->file($field);
        if (!$file->isValid()){ // now check if it's valid
            return back()->with('error', $file->getErrorMessage());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不能使用只是if (!$file->isValid())因为文件字段是可选的,我得到一个Call to a member function isValid() on nullif字段是空的.

所以我必须检查字段是否存在使用if (request()->hasFile($field)),但这不适用于大文件,因为dd(request()->hasFile('picture'))返回false.

当然,我可以依赖默认的Laravel Validator消息,但是我得到一个The picture failed to upload.不给用户任何线索的假人.

php upload laravel

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

Chrome中的等高Flexbox列

我有一个简单的2列布局,我想使用Flexbox达到相同的高度:

HTML

<div class="row flex">
    <!-- menu -->
    <div class="col-xs-4">
        <aside>
            Menu goes here
        </aside>    
    </div>
    <!-- content -->
    <div class="col-xs-8">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam ac elementum justo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus nec elementum erat. Suspendisse consequat ut metus ut cursus. Aenean et lectus id libero venenatis varius. Vivamus luctus ligula sit amet faucibus vulputate. Vestibulum tincidunt fringilla mauris, a vulputate magna egestas nec. Vivamus …
Run Code Online (Sandbox Code Playgroud)

html css google-chrome css3 flexbox

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

Laravel:在“查询生成器”或“雄辩的”中更改原始查询

我有运行良好的Laravel查询生成器代码段:

$records = DB::table('users')
    ->select(
        DB::raw('users.*, activations.id AS activation, 
                 (SELECT roles.name FROM roles 
                  INNER JOIN role_users 
                    ON roles.id = role_users.role_id
                  WHERE users.id = role_users.user_id LIMIT 1) 
                  AS role')
    )
    ->leftJoin('activations', 'users.id', '=', 'activations.user_id')
    ->where('users.id', '<>', 1)
    ->orderBy('last_name')
    ->orderBy('first_name')
    ->paginate(10);
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以避免使用原始查询并获得相同的结果?换句话说,我该如何以更具“查询生成器”的风格编写此代码?我还可以将其转换为口才查询吗?

谢谢

laravel-5 laravel-query-builder

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

Laravel 4 自定义分页:转到第一页/最后一页并显示固定数量的链接

我在 Laravel 4 中使用默认的 Bootstrap 滑块导航,它工作得非常好:但现在我想通过两个自定义来改进它,但我不知道如何:

1:在开头添加“转到第一页”,如果我们在第一页则禁用;最后还有一个类似的“转到最后一页”,如果我们在最后一页,则禁用(请查看与默认 Laravel 内容相比箭头如何更改!我想使用“双箭头”(« 和 »)对于“转到第一个/最后一个”,以及一个单箭头(<和>)“转到上一个/下一个:

<ul class="pagination">
    <li class="disabled"><span>&laquo;</span></li>
    <li class="disabled"><span>&lsaquo;</span></li>
    <li class="active"><span>1</span></li>
    <li><a href="http://laravel/games?page=2">2</a></li>
    <li><a href="http://laravel/games?page=3">3</a></li>
    <li><a href="http://laravel/games?page=4">4</a></li>
    <li><a href="http://laravel/games?page=5">5</a></li>
    <li><a href="http://laravel/games?page=6">6</a></li>
    <li><a href="http://laravel/games?page=7">7</a></li>
    <li><a href="http://laravel/games?page=8">8</a></li>
    <li><a href="http://laravel/games?page=9">9</a></li>
    <li><a href="http://laravel/games?page=10">10</a></li>
    <li><a href="http://laravel/games?page=2" rel="next">&rsaquo;</a></li>
    <li><a href="http://laravel/games?page=10" rel="last">&raquo;</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

2:一次显示自定义数量的链接(即 5),而不是默认的长列表:

<ul class="pagination">
    <li class="disabled"><span>&laquo;</span></li>
    <li class="disabled"><span>&lsaquo;</span></li>
    <li class="active"><span>1</span></li>
    <li><a href="http://laravel/games?page=2">2</a></li>
    <li><a href="http://laravel/games?page=3">3</a></li>
    <li><a href="http://laravel/games?page=4">4</a></li>
    <li><a href="http://laravel/games?page=5">5</a></li>
    <li><a href="http://laravel/games?page=2" rel="next">&rsaquo;</a></li>
    <li><a href="http://laravel/games?page=10" rel="last">&raquo;</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

或者

<ul class="pagination">
    <li><a href="http://laravel/games?page=1" rel="first">&laquo;</a></li>
    <li><a href="http://laravel/games?page=3" rel="prev">&lsaquo;</a></li>
    <li><a href="http://laravel/games?page=2">2</a></li> …
Run Code Online (Sandbox Code Playgroud)

pagination laravel-4

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

Apache mod_rewrite更改PHP脚本中的REAL服务器端口输出

我注意到当使用mod_rewrite时,即使apache在端口8080上,PHP也会返回server_port 80.

即我有这个网址:http://myvirtualhost.8080/index.php和这个PHP片段:

<?php echo $_SERVER['SERVER_PORT']; ?>
Run Code Online (Sandbox Code Playgroud)

在.htaccess中我有这个简单的规则

RewriteEngine on
RewriteRule     ^/?$            index.php           [NC,L]
Run Code Online (Sandbox Code Playgroud)

使用mod_rewrite时,输出为"80"(错误)

关闭mod_rewrite,输出为"8080"(正确)

这是正常的吗?这个简单的解决方案?事实是我需要检查REAL服务器端口以在条件PHP脚本中使用,例如:

<?php 
if ($_SERVER['SERVER_PORT'] == 80) {
do something
} else {
do something else
}
?>
Run Code Online (Sandbox Code Playgroud)

当然这实际上是不可能的,因为SERVER_PORT上的mod_rewrite总是80.我不想乱用.htaccess文件,所以PHP脚本解决方案会很棒......

提前致谢!

apache mod-rewrite port

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

PHP的in_array函数,为什么这不起作用?

我有这个数组,从数据库生成:

do {
    $rsvp_array[$row_rsRSVP['rsv_guest']] = array(
        'id' => $row_rsRSVP['rsv_id'],
        'guest' => $row_rsRSVP['rsv_guest'],
        'confirmed' => $row_rsRSVP['rsv_confirmed']
    );
} while ($row_rsRSVP = mysql_fetch_assoc($rsRSVP));
Run Code Online (Sandbox Code Playgroud)

它很好,有print_r()我得到这个:

Array
(
    [1] => Array
        (
            [id] => 1
            [guest] => 1
            [confirmed] => 1
        )

    [15] => Array
        (
            [id] => 2
            [guest] => 15
            [confirmed] => 0
        )

    [5] => Array
        (
            [id] => 3
            [guest] => 5
            [confirmed] => 1
        )

    [10] => Array
        (
            [id] => 4
            [guest] => 10
            [confirmed] => 1
        ) …
Run Code Online (Sandbox Code Playgroud)

php arrays

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