小编Nic*_*ick的帖子

在PHP/MySQL中使用Week(Date)时,如何将星期的第一天设置为星期一?

我使用以下代码构建Google Chart,以便在一年内对应于Week Numbers的MySQL表中提取所有条目.目前周数从周日开始,我想改变这一点,以便他们在星期一开始,但我不知道如何做到这一点.

$i=1;
    while($i<=53)
       {
        $week_start = new DateTime();
        $week_start->setISODate(2013,$i+1);
        $date_display = $week_start->format('j M Y');

        $sessions = $wpdb->get_var($wpdb->prepare("SELECT Sum(Due) from patient_sessions WHERE Type='Session' AND Week(Date)='$i'"));

        $temp = array();

        $temp[] = array('v' => (string) $date_display); 
        $temp[] = array('v' => (string) $sessions); 
        $rows[] = array('c' => $temp);
        $i++;
    }
Run Code Online (Sandbox Code Playgroud)

修订后的代码

$sessions = $wpdb->get_results($wpdb->prepare("SELECT Due,Date from patient_sessions WHERE Type='Session'"));
$work_times = $wpdb->get_results($wpdb->prepare("SELECT Amount,Date from work_times"));
$expenses = $wpdb->get_results($wpdb->prepare("SELECT Amount,Date from expenses WHERE Client='Psychotherapy'"));

$i=1;
while($i<=53) {
    $week_start = new DateTime();
    $week_start->setISODate(2013,$i+1);
    $date_display …
Run Code Online (Sandbox Code Playgroud)

php mysql date week-number

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

正则表达式将数字从字符串的开头移动到结尾

我是正则表达式的新手,我想知道我会使用什么表达式将一些数字从字符串的开头移动到结尾,即我想对此进行转换:

'01 这里有一些不同长度的文本'

对此:

“这里有一些不同长度的文本 01”

如果有什么区别的话,这些数字总是两位数长。

有人可以帮忙解决这个问题吗?

regex string

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

如果不是IE8或以前而不是移动设备,需要条件语句才能加载脚本

我有一个链接到我的页面的头部部分的传统格式的脚本,即

<script src="scripts/scriptname.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

我想阻止在IE8及更早版本以及iPhone/iPad和移动设备上加载此脚本.

我有这个声明,以防止它在IE8中运行,但我不知道如何调整它以包括早期版本的IE,我也不确定移动设备:

<!--[if !IE 8]><!-->
    <script src="scripts/scriptname.js" type="text/javascript"></script>
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢,

缺口

jquery internet-explorer conditional

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

生成电子邮件时解密MySQL密码以通知用户密码

我正在实现一个登录脚本,其中包括向用户发送用户名和密码(存​​储在MySQL数据库中)的功能,以防万一他们忘记了.脚本的默认行为是发送用户名和密码,即生成临时密码.

我想知道是否有办法只是通过电子邮件发送当前密码,以便用户不必重置它.目前密码已加密,但我无法弄清楚这是如何完成的.密码格式如下:

*2D4CE9DDA883E4FBE985A3439D9DCDCBD88367A0

因此,当我尝试发送当前密码时,会发送加密密码.

有没有办法在发送提醒邮件时解密密码,还是我必须保留原样?

谢谢,

缺口

mysql encryption passwords

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

将一小时添加到UTC_TIMESTAMP以提交给MySQL

我使用以下代码将UTC_TIMESTAMP提交到MySQL数据库:

$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', UTC_TIMESTAMP())";
Run Code Online (Sandbox Code Playgroud)

我在英国,时间比UTC_TIMESTAMP提前一小时,所以我想在输入的值上加一小时,但我不知道该怎么做.我尝试了Stack Overflow上的一些建议,但两者都不起作用.有人能让我知道如何正确地做到这一点吗?另外,我不知道如何处理夏令时.有没有办法自动计算?

谢谢,

缺口

php mysql date utc

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

登录重定向上的无限循环

我有一个通常适用于我的登录脚本,但在检查存储用于登录的cookie之后,偶尔会在重定向时进入无限循环.浏览器将报告如下内容:"Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求." 其他人也报告了这个问题.以下是登录过程的关键元素.我想知道是否有人可以看到这个过程/脚本的问题.

谢谢,

缺口

首先在受保护的每个页面顶部:

<?php
session_start();

$_SESSION['url'] = $_SERVER['REQUEST_URI'];

require('login/config.php');
require('login/functions.php'); 

if (allow_access(Users) != "yes")
{ 
include ('login/check_login.php'); 
exit;
}
?>
Run Code Online (Sandbox Code Playgroud)

然后在check_login.php中:

<?
session_start();

//check to see if the user already has an open session
if (($_SESSION[user_name] != "") && ($_SESSION[password] != ""))
{

    header("Location:$_SESSION[redirect]");
    exit;
}

$lr_user = $_COOKIE['lr_user'];
$lr_pass = $_COOKIE['lr_pass'];

//check to see if cookies have been set previously
if(($lr_user != "") && ($lr_pass != ""))
{
    header("Location:/login/redirect.php");
    exit;
} …
Run Code Online (Sandbox Code Playgroud)

php redirect login infinite-loop

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

有没有办法记录浏览器,用户从MySQL数据库中提交表单

我有一个PHP页面,它处理表单的提交并将数据添加到MySQL表.我想知道是否有一种方法可以将用户提交表单的浏览器和版本编写到MySQL表的列中?

谢谢,

缺口

php mysql browser forms

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

为什么我的数组只返回循环中的最后一个值?

我有以下代码,用于循环在表单上提交的名称:

$row_count = count($_POST['name']);
if ($row_count > 0) {

  mysql_select_db($database, $connection);
  $name = array();
  $workshop = array();

  for($i = 0; $i < $row_count; $i++) {
    // variable sanitation...
    $name[i] = mysql_real_escape_string(ucwords($_POST['name'][$i]));
    $workshop[i] = mysql_real_escape_string($_POST['workshop'][$i]);
    }
  $names = "('".implode("','",$name)."')";
.....etc
Run Code Online (Sandbox Code Playgroud)

出于某种原因$names,只返回表单上提交的姓氏,而不是所有姓名.有人可以帮助我正常工作吗?

谢谢,

缺口

php mysql arrays implode

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