JavaScript/jQuery query as mySQL
JavaScript/jQuery query as mySQL
我有一个SQL数据库,我用它来查询数据库:
SELECT id, (3959 * acos(cos(radians(37)) * cos(radians(latitude))* cos(弧度(经度)-弧度(-122))+ sin(弧度(37))* sin(弧度)(纬度))))作为距离商店有距离<12925 ORDER BY distance LIMIT 0,20;
变量为37,-122坐标
我有这个数据作为一个SQL数据库,但我导出的数据库作为一个JavaScript数组,我想排序,并得到一个新的数组,将只包含基于查询的结果,我过去用mySQL做的,但这次我想做它只与JavaScript或jQuery。
我有办法做到这一点吗?
编辑-有任何方法来改变基于复杂的查询与JavaScript数组?
我不知道有什么方法可以自动做到这一点(以类似sql的方式),但您可以尝试以下方法(请参阅代码中的注释):
实例在这里。
/* Declare utility function to convert degrees to radians */
function radians(deg) {
return deg * Math.PI / 180;
}
/* Declare utility function to compute distance from (37, -122) */
/* (If these values change dynamically they should */
/* be given as parameters to the function.) */
var cos37 = Math.cos(radians(37));
var sin37 = Math.sin(radians(37));
function distance(lat, long) {
var dist = 3959
* Math.acos(cos37
* Math.cos(radians(lat))
* Math.cos(radians(long)
- radians(-122))
+ sin37
* Math.sin(radians(lat)));
return dist;
}
/* Somehow populate a 2-dimensional array containing all entries. */
/* Each row should look like this: [id, latitude, longtitude] */
var allArr = ...; // [[id1, lattitude1, longtitude1],[id2, lattitude2, longtitude2],...]
/* Populate a new array containing [id, distance] of those entries */
/* whose distance from (37, -122) is less than 12925. */
var newArr = [];
for (var i = 0; i < allArr.length; i++) {
var dist = distance(allArr[i][1]/*latitude*/,
allArr[i][2]/*longtitude*/);
if (dist < 12925) {
newArr.push([allArr[i][0]/*id*/,
dist]);
}
}
我还注意到,在地球上不可能找到任何两个距离大于12925英里的地方,所以除非你正在设计一些外星网络应用程序,否则你可能需要修改你的规格:)
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 如何使用PHP将javascript变量添加到mysql数据库中
- 将phonegap图像发布到php/mysql-图像字段从发布请求中消失
- 在node.js-mysql中执行UPDATE查询不起作用
- 更新从Mysql查询检索到的数据?Node.js节点mysql
- 单击鼠标,用MySQL数据填充html表单输入字段
- 浓缩一系列mySQL查询
- 如何翻译MySQL查询's ResultSet转换为整数
- 如何在mysql查询(NODE.js)中重复使用一个参数
- Node.JS, Angular.JS, MySql,Express.JS
- Ajax和MySql的插入、检查和检索
- onclick->mysql查询->javascript;同一页
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 如何使用jQueryPOST将get变量从JavaScript传递到PHP-Mysql
- JavaScript/jQuery query as mySQL