小编Jay*_*len的帖子

如何在Windows上的AppServ上启用PDO?

我正在尝试使用PDO和我第一次创建应用程序

try {
    $db = new PDO('mysql:host=localhost;dbname=DBname', 'user', 'pass');
} catch(PDOException $e){
    echo '<div class="errorMSG">Failed to connect to database. Please try to refresh this page in 1 minute. However, if you continue to see this message please contact your system administrator.</div>';
    echo '<br /><br />' . $e->getMessage();
    exit();

}
Run Code Online (Sandbox Code Playgroud)

当然我有更改传递用户和DBname到正确的一次,但我得到一个错误找不到驱动程序

因此,通过少量搜索,我发现我需要启用pdo_mysql,但我似乎无法找到我在哪里做以及如何做?有人可以帮助我如何启用它和/或让它在我的本地机器上工作.我有Windows 7.我找不到我的php.int所在的位置.

谢谢 :)

mysql pdo appserver

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

ORDER BY datetime 使查询速度非常慢

我试图从多个表中提取数据,当我使用 ORDER BY 日期时间字段时,它会在至少 10 秒后返回结果,但是如果我在没有 ORDER BY 的情况下执行相同的查询,则它会在 2 秒内返回结果。

这是我当前的查询

SELECT
ph.call_subject AS callSubject,
ac.account_name AS accountName,
DATE_FORMAT(ph.trigger_on, "%c/%e/%Y %h:%i %p") AS triggerOn,
ind.name AS industry,
cc.call_code_name AS callCode
FROM phone_calls AS ph
INNER JOIN accounts AS ac ON ph.account_id = ac.account_id
INNER JOIN industries AS ind ON ind.industry_id = ac.industry_id
INNER JOIN call_codes AS cc ON ph.call_code_id = cc.call_code_id
WHERE ac.status = 1 AND ph.status = 1 AND ph.owner_id = 1 AND ac.do_not_call = 0
AND ph.trigger_on …
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by

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

将MySQL密钥列转换为FOREIGN列后,网站速度变慢

我之前从未使用过FOREIGN KEYS.我总是将id放在一个关键列上,但它不一定是外键.所以它就像一个外键,但事实并非如此.

所以,如果我有以下2个表

CREATE TABLE `accounts` (
 `account_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(60) NOT NULL,
 `owner_id` int(11) unsigned NOT NULL,
 PRIMARY KEY (`account_id`),
 KEY `owner_id` (`owner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


CREATE TABLE `users` (
 `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(60) NOT NULL
 PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)

列account.owner_id链接到users.user_id但未设置外键关系.

所以我可以做这样的事情

SELECT
a.name AS account_name,
u.name AS user_name FROM
accounts AS a INNER JOIN users AS u ON u.user_id = a.owner_id
Run Code Online (Sandbox Code Playgroud)

因此,在了解了FOREIGN KEYS是什么以及他们做了什么后,我创建了一个外键,就像这样.

ALTER TABLE accounts …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-keys

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

可以将复选框设置为只读而不禁用它吗?

我在尝试解决问题时遇到了麻烦.

在我的应用程序中,我生成了一个text-input和checkbox-inputs以及一个select元素.现在在某些情况下我需要为用户预先填充这些值,我不希望用户能够更改它们.我只希望这些元素是只读的.但是,我需要能够使用AJAX将重新填充的值传递给服务器.

如果我将元素中的disable属性设置为TRUE,那么当我使用POST方法提交表单时,我将无法读取传递的值.如果我有输入复选框的只读属性并选择那么我就不会有这个问题.

我的问题是,即使元素被禁用,我也需要传递这些值.

请注意,我根据从AJAX请求传回的值生成这些字段,并且在某些情况下,我创建了多个用于不同目的的复选框.

以下是我创建输入的代码

$('#result_code_menu').change(function () {
    //reset
    $('#listNextCallDates').html('');

    $.getJSON("ajax/getDefaultScheduleDate.php", {
        result_code: $(this).val(),
        call_code: $('#selected_call_code').val()
    }, function (data) {

        if (!data) return;

        $.each(data, function (i, v) {
            var make_app = '';
            var span_class = '';

            var calendar_add = '';
            var span_class_cal = '';

            if (v.force_appointment == '1') {
                make_app = ' checked="checked" disabled="disabled" ';
                span_class = ' class="red" ';

            }

            if (v.force_on_calendar == '1') {
                calendar_add = ' checked="checked" disabled="disabled" ';
                span_class_cal = ' class="red" ';

            }

            var …
Run Code Online (Sandbox Code Playgroud)

ajax jquery post disabled-control

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

如何使用 PHP 数组模拟 SQL LEFT JOIN 操作?

我有一个连接到多个服务器的应用程序。其中一台服务器的 ID 是位于另一台服务器上的表的外键。这里的问题是 MySQL 不支持链接服务器,因此我无法运行将 LEFT 连接位于不同服务器上的 2 个表的左查询。

所以我必须使用 PHP 从 2 个不同的服务器中提取 2 个单独的查询,然后他们使用 PHP 来加入它们。

请注意,下面列出的数组键需要是动态的。我不能使用固定名称,因为不同的查询会有不同的列名。下面的示例使用 phone_call_id 作为它们用于连接两个数组的键,并结合了列名。如果 $right_array 有更多列,则需要将这些列添加到最终数组中。

所以我有 2 个数组

$left_array = 
Array
(
    [0] => Array
        (
            [id] => 1
            [start_on] => 2014-09-14 19:50:00
            [end_on] => 2014-09-14 19:51:00
            [subject] => This is a new event
            [client_id] => 
            [all_day_event] => 0
            [event_type] => Event
            [phone_call_id] => 122
        )

    [1] => Array
        (
            [id] => 2
            [start_on] => 2014-09-15 05:53:00
            [end_on] => 2014-09-15 06:53:00
            [subject] …
Run Code Online (Sandbox Code Playgroud)

php arrays left-join array-merge

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

使用jQuery关闭下拉菜单时如何触发事件?

我想在用户关闭由" bootstrap-multiselect "UI 控制的下拉菜单时重新加载页面.

这是我到目前为止所尝试的

    $('#ts_client_id').multiselect({
        enableFiltering: true,
        enableCaseInsensitiveFiltering: true,
        selectedClass: null,
        nonSelectedText: 'All Clients',
        includeSelectAllOption: true,
        buttonWidth: '100%',
        maxHeight: 250
    }).on('blur', function () {
        console.log($('#ts_client_id').val());
        window.location.reload();
    });
Run Code Online (Sandbox Code Playgroud)

$('#ts_client_id').multiselect({
    enableFiltering: true,
    enableCaseInsensitiveFiltering: true,
    selectedClass: null,
    nonSelectedText: 'All Clients',
    includeSelectAllOption: true,
    buttonWidth: '100%',
    maxHeight: 250
}).on('hide.bs.dropdown', function () {
    console.log($('#ts_client_id').val());
    window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个,它没有用

    $('#ts_client_id').multiselect({
        onDropdownHidden: function(event){
            console.log('hi');
            window.location.reload();
        },
        enableFiltering: true,
        enableCaseInsensitiveFiltering: true,
        selectedClass: null,
        nonSelectedText: 'All Clients',
        includeSelectAllOption: true,
        buttonWidth: '100%',
        maxHeight: 250
    });
Run Code Online (Sandbox Code Playgroud)

这是我的HTML代码

<select name="ts_client_id[]" id="ts_client_id"  multiple="multiple" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery bootstrap-multiselect jquery-multiselect

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

c#如何使用get; 如果未设置该值,则返回一个值?

我正在尝试get; set;在初始化属性时定义值.

我有以下界面

public interface IReportColumn
{
    string Title { get; set; }

    string ColumnKey { get; }

    AggregateFunctions AggregateFunction { get; set; }

    string SqlAlias { get;  }

}
Run Code Online (Sandbox Code Playgroud)

我需要做的是将属性SqlAlias设置为随机字符串if AggregateFunction == AggregateFunctions.None || ColumnKey == null.但是,因为我在这里生成一个随机字符串,所以我不希望它改变我调用get方法的时间.我希望能够获得它,设置它并在整个请求中重用相同的值.

这就是我实现界面的方式

public class ReportColumnMsSqlServer : IReportColumn
{

    public string Title { get; set; }

    public string ColumnKey { get; set; }

    public AggregateFunctions AggregateFunction { get; set; }

    public string SqlAlias {

        get {

           return this.GetColumnName();

        } …
Run Code Online (Sandbox Code Playgroud)

c#

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

Laravel什么时候清除缓存?

我正在尝试使用RedisLaravel 5来缓存查询/结果,以使我的应用程序运行得更快.

但是,我有几个问题可以帮助我决定什么时候使用Cache它,什么时候不使用.

假设我有以下内容

$interview= Cache::remember('SomeUniqueKey', 180, function(){

    return SurveyInterview::where('user_id', 123)
                          ->with([
                                    'current_step.page',
                                    'pages'
                                ])
                          ->first();
});
Run Code Online (Sandbox Code Playgroud)

前面的代码应该缓存eloquent返回的集合集.这共有3个查询.首先查询模型,第二个查询current_step.page关系,最后一个查询pages关系.

我的理解是,只要我一遍又一遍地执行上面的代码,Laravel就会从缓存中返回集合,直到从缓存集合的180分钟开始.

如果对我的数据库表进行了更新,laravel会自动删除缓存吗?在其他工作中,一旦我对SurveyInterview模型进行更新,它会删除缓存吗?或者每次更新模型时我是否必须手动删除缓存?

php caching laravel eloquent laravel-5

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

如何在C#中创建键/值对数组?

我有一个在ASP.NET MVC之上编写的应用程序。在我的一个控制器中,我需要在C#中创建一个对象,因此当使用JsonConvert.SerializeObject()结果将其转换为JSON时,如下所示

[
  {'one': 'Un'},
  {'two': 'Deux'},
  {'three': 'Trois'}
]
Run Code Online (Sandbox Code Playgroud)

我试图用Dictionary<string, string>这样

var opts = new Dictionary<string, string>();
opts.Add("one", "Un");
opts.Add("two", "Deux");
opts.Add("three", "Trois");

var json = JsonConvert.SerializeObject(opts);
Run Code Online (Sandbox Code Playgroud)

但是,上面创建了以下json

{
  'one': 'Un',
  'two': 'Deux',
  'three': 'Trois'
}
Run Code Online (Sandbox Code Playgroud)

如何以某种方式创建对象以JsonConvert.SerializeObject()生成所需的输出?

c# asp.net-mvc json json.net asp.net-mvc-5

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

如何在mysql中将varchar转换为datetime格式

我试图将varchar转换为日期时间这就是我现在所拥有的,它对我不起作用.我总是得到有价值的东西

STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T')
Run Code Online (Sandbox Code Playgroud)

以下代码返回5,16,2011 20:14

select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',')
Run Code Online (Sandbox Code Playgroud)

我现在的输出是emply string.应该是2011-05-16 20:14:00

我怎样才能使这个工作?

谢谢

mysql

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