小编bat*_*_ap的帖子

在PHP中添加格式为H:i的30分钟时间

此刻有一场噩梦,只是看不出为什么它不起作用

我有一个H:i(即10:00,13:30)等形式的值,称为$ time

我想要做的是创建两个新值,$ startTime在$ time之前30分钟,$ endTime在$ time之后30分钟

我尝试过以下但似乎并不想工作

$startTime = date("H:i",strtotime('-30 minutes',$time));
$endTime = date("H:i",strtotime('+30 minutes',$time));
Run Code Online (Sandbox Code Playgroud)

如果我通过10:00作为$ time并且同时回显$ startTime和$ endTime,我得到:

$startTime = 00:30
$startTime = 01:30        
Run Code Online (Sandbox Code Playgroud)

php strtotime

39
推荐指数
3
解决办法
13万
查看次数

使用空间点类型在MySQL中存储Lat Lng值

使用的技术:MySQL 5.1和PHP 5.3

我只是为我正在写的网站设计一个新的数据库.我正在寻找现在存储Lat和Lng值的最佳方法.

在过去,我一直在使用DECIMAL并在表单中使用PHP/MySQL select:

SQRT(POW(69.1 * (fld_lat - ( $lat )), 2) + POW(69.1 * (($lon) - fld_lon) * COS(fld_lat / 57.3 ), 2 )) AS distance
Run Code Online (Sandbox Code Playgroud)

找到最近的匹配地点.

开始阅读有关新技术的更多内容我想知道是否应该使用Spatial Extensions.http://dev.mysql.com/doc/refman/5.1/en/geometry-property-functions.html

虽然信息很薄,但对如何存储数据有疑问.我现在使用POINT作为数据类型,而不是使用DECIMAL?

此外,一旦存储为POINT,只是为了从中获取Lat Lng值,以便我想在地图上绘制它或者我是否还应该再次将lat lngs存储为DECIMALS?

我知道我应该使用PostGIS,因为这里的大多数帖子都说我只是不想学习新的数据库!

跟进

我一直在玩新的POINT类型.我已经能够使用以下内容添加Lat Lng值:

INSERT INTO spatialTable (placeName, geoPoint) VALUES( "London School of Economics", GeomFromText( 'POINT(51.514 -0.1167)' ));
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用以下方法从Db返回Lat和Lng值:

SELECT X(geoPoint), Y(geoPoint) FROM spatialTable;
Run Code Online (Sandbox Code Playgroud)

这一切看起来都不错,但距离的计算是我需要解决的问题.显然,MySQL有一个距离函数的占位符,但暂时不会发布.在一些帖子中,我发现我需要做类似下面的事情,但是我认为我的代码有点错误:

SELECT
 placeName,
 ROUND(GLength(
  LineStringFromWKB(
   LineString(
    geoPoint, 
    GeomFromText('POINT(52.5177, -0.0968)')
  )
  )
))
AS distance
FROM spatialTable
ORDER BY distance …
Run Code Online (Sandbox Code Playgroud)

mysql geospatial

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

检查mySql日期时间是否早于php现在的1天()

我有一个从MySQL返回的记录,它有一个datetime字段.我想要做的是取这个值,看看它是否比24小时更早,我假设使用PHP的time()来获取当前时间.

如果我回应他们,我得到:

 1276954824            this is php's time()
 2010-06-19 09:39:23   this is the MySQL datetime
Run Code Online (Sandbox Code Playgroud)

我认为最重要的是unix时间?一直在玩strtotime但没有太大的成功..

欢迎帮助!

php mysql datetime

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

在PHP和数字格式中将setlocale设置为fr-FR

我正在尝试创建一个我的网站的法语版本.我已经设置setlocale(LC_ALL, 'fr_FR');在我的页面顶部,并使用strftime我正在以法国风格正确显示日期.

但是我遇到了一些问题.部分页面使用我从Web服务获取的数据.我正在为这样的var分配一个返回值:

$overallRating = $returnArray['Overall'];
Run Code Online (Sandbox Code Playgroud)

然后我使用以下代码将其格式化为1位小数

number_format($overallRating,1)
Run Code Online (Sandbox Code Playgroud)

在英文版本中,overallRating值可能是7.5并且返回一个值,例如7.5(通过number_format运行它的原因是它返回7我希望它显示7.0)

但是在法语版本中,如果我打印出原始的$ overallRating值,我会7,5看到它已将其翻译成法语.这样会好的,但是如果我运行它number_format会得到错误:

Notice: A non well formed numeric value encountered in /sites/index.php  on line 250
Run Code Online (Sandbox Code Playgroud)

第250 number_format行是该行

我认为翻译7,5是搞乱的,但不知道如何解决这个问题......

使用PHP 5.3以防有任何新的东西可以帮助我

php locale number-formatting

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

使用jQuery从href获取值

我想知道是否有人可以帮助解决我遇到的jQuery问题.

我正在使用Jquery工具库中的工具提示来创建一个弹出窗口,当鼠标悬停在一个hrefed图像上时,我想用这个来调整调用来改变DIV中的内容.

我使用的链接形式如下:

<a href="/venue/1313.htm" class="quickView"><img src="/images/site/quickView83.png" alt="Quick View" width="83" height="20" /></a>
Run Code Online (Sandbox Code Playgroud)

我用来触发提示的代码是:

$(".quickView").live('mouseover', function()
    {
        if (!$(this).data('init'))
        {
            $(this).data('init', true);
            ajax_quickView(); 
            $(this).tooltip
            ({ 
                /* tooltip configuration goes here */ 
                tip: "#quickViewWindow",
                position: "right",
                offset: [0, -300], 
                effect: 'slide' 
            });
            $(this).trigger('mouseover'); 
        }  
    });
Run Code Online (Sandbox Code Playgroud)

我尝试了以下函数从链接中获取ID(在上面的例子中,1313):

function ajax_quickView(){
        var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1];
        $("#quickViewWindow").load("/quick-view/", function(){}) 
    }
Run Code Online (Sandbox Code Playgroud)

但是我认为这是它倒下的地方,我认为我的正则表达可能是罪魁祸首......

一旦我得到var pageNum,我认为我可以将它传递到.load中:

$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){})
Run Code Online (Sandbox Code Playgroud)

非常感谢

jquery jquery-selectors

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

X-Forwarded-用于在PHP中导致未定义的索引

我正在尝试将一些第三方跟踪代码集成到我的一个网站中,但它会抛出一些错误,并且它们的支持没有多大用处,所以我想尝试自己修复代码.大多数我已修复,但这个功能给我带来了问题:

private function getXForwardedFor()
{
$s =& $this;

$xff_ips = array();

$headers = $s->getHTTPHeaders();

if ($headers['X-Forwarded-For']) {
$xff_ips[] = $headers['X-Forwarded-For'];
}

if ($_SERVER['REMOTE_ADDR']) {
$xff_ips[] = $_SERVER['REMOTE_ADDR'];
}

return implode(', ', $xff_ips); // will return blank if not on a web server
}
Run Code Online (Sandbox Code Playgroud)

在我的开发环境中,我正在展示我得到的所有错误:

 Notice: Undefined index: X-Forwarded-For in /sites/webs/includes/OmnitureMeasurement.class.php  on line 1129
Run Code Online (Sandbox Code Playgroud)

1129行是:

if ($headers['X-Forwarded-For']) { 
Run Code Online (Sandbox Code Playgroud)

如果我打印$ header我得到:

Array
(
[Host] => www.domain.com
[User-Agent] => Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
[Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[Accept-Language] …
Run Code Online (Sandbox Code Playgroud)

php apache

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