PHP lareal_怎么样能在mysql里结合php的函数
数据库里的经纬度想和当前定位地点的经纬度进行计算,差值最小的数据排在前面,也就是按距离排序,这个函数已经有了,就是不知道怎么结合mysql查询
/**
* 计算两个坐标之间的距离(米)
* @param float $fP1Lat 起点(纬度)
* @param float $fP1Lon 起点(经度)
* @param float $fP2Lat 终点(纬度)
* @param float $fP2Lon 终点(经度)
* @return int
*/
function distanceBetween($fP1Lat, $fP1Lon, $fP2Lat, $fP2Lon){
…..
return $distance;
}
解决方案
60
把这个函数改造一下就行了,在mysql中写一个函数,直接调用。
本人这里有 sql server版本的,你改成mysql的就可以了,提供给你参考:
create FUNCTION dbo.fnGetDistance
(
@LatBegin REAL,
@LngBegin REAL,
@LatEnd REAL,
@LngEnd REAL
)
RETURNS FLOAT
AS
BEGIN
DECLARE @Distance REAL
DECLARE @EARTH_RADIUS REAL
SET @EARTH_RADIUS = 6378.137
DECLARE @RadLatBegin REAL, @RadLatEnd REAL, @RadLatDiff REAL, @RadLngDiff REAL
SET @RadLatBegin = @LatBegin * PI() / 180.0
SET @RadLatEnd = @LatEnd * PI() / 180.0
SET @RadLatDiff = @RadLatBegin - @RadLatEnd
SET @RadLngDiff = @LngBegin * PI() / 180.0 - @LngEnd * PI() / 180.0
SET @Distance = 2 * ASIN(SQRT(POWER(Sin(@RadLatDiff / 2), 2) + COS(@RadLatBegin) * COS(@RadLatEnd) * POWER(SIN(@RadLngDiff/2),2)))
SET @Distance = @Distance * @EARTH_RADIUS
RETURN @Distance
END
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么样能在mysql里结合php的函数!
PHP lareal_怎么样能在mysql里结合php的函数相关推荐
- mysql里的ibdata1文件
mysql大多数磁盘空间被 InnoDB 的共享表空间 ibdata1 使用.而你已经启用了 innodb_file_per_table,所以问题是: ibdata1存了什么? 当你启用了innodb ...
- MySQL里的wait_timeout
如果你没有修改过MySQL的配置,缺省情况下,wait_timeout的初始值是28800. wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能, ...
- MySql 里的IFNULL、NULLIF和ISNULL用法
今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如e ...
- mysql 用户 类别_从mysql里读取用户类型
##1.后端1(从mysql里读取用户类型): from django import forms from django.forms import widgets from django.forms ...
- mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
使用mysql中经常会遇到的问题,记录下来 转自: http://database.e800.com.cn/articles/2007/630/1183147360019880660_1.html s ...
- MySQL里的日期技巧
[sql] MySQL里获取当前week.month.quarter的第一天/最后一天 当前week的第一天: select date_sub(curdate(),INTERVAL WEE ...
- mysql里的各种锁
本文来聊下Mysql里的各种锁 文章目录 加锁的目的是什么 锁是基于什么实现的 锁的分类 属性锁 粒度锁 状态锁 本文小结 加锁的目的是什么 在我们了解数据库锁之前,首先我们必须要明白加锁的目的是为了 ...
- php调用mysql中文变量_用php调用MySQL里的数据,为什么汉字都变成了问号?在线等...
急啊!用php调用MySQL里的数据,为什么汉字都变成了问号?我使用的是windows+Apache+MySQL5.0+PHP5.0+phpmyadmin2.9.1建立的带有汉字的数据库在phpmya ...
- 为什么 mysql 里的 ibdata1 文件不断的增长?
一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用.而你已经启用了innodb_file_per_table,所以问题是: ibdata1存了什么? 当你启用了inn ...
最新文章
- 在Rails中撤消脚手架
- 15.Three Sum
- memcached mysql 性能测试_memcached +mysql+php 测试例子
- 后台开发技术--接入层设计
- GraphPad Prism绘制时间轴图
- 安装SQL Server2008错误解决方案
- php服务docker化,docker化你的PHP应用环境Nginx PHP-FPM
- 中移4G模块-ML302-OpenCpu开发-(固件编译和烧录)
- MasterPages: Improved Version(翻译)
- tastypie使用cache对list data无效问题
- Latex 合并pdf文档
- 2、数字,字符串,列表,字典,集合
- mysql身份证校验码_通过SQL校验身份证号码是否正确
- 最近写的一个书店项目
- 华为 emui 刷机解锁及回锁教程
- 顺风车这么难搞,滴滴为何从不放弃?
- 科学家提出记忆形成新解 大脑玩的拼图游戏
- 稻盛和夫:中国企业如何在萧条中实现大飞跃
- Android学习笔记:实现app启动界面跳过倒计时功能
- Ray Tracing