Tuesday, April 14, 2015

ajax 读取json数据





click to gain json data
 
 
 
 
 
 [
{"optionKey":"1", "optionValue":"Canon in D"},
{"optionKey":"2", "optionValue":"Wind Song"},
{"optionKey":"3", "optionValue":"Wings"}
]

Friday, April 10, 2015

在APACHE服务器上的访问方式上去除index.php


在APACHE服务器上的访问方式上去除index.php
 
下面我说下 apache 下 ,如何 去掉URL 里面的 index.php
例如: 你原来的路径是: localhost/index.php/index
改变后的路径是: localhost/index

1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置
#LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉

2.在APACHE里面去配置 ,将里面的AllowOverride None都改为AllowOverride All

注意:修改之后一定要重启apache服务。


3.确保URL_MODEL设置为2, (url重写模式  注意:此方法在thinkphp里使用,其他感觉不需要)

在项目的配置文件里写

return Array(
‘URL_MODEL’ => ’2′,
);
4 .htaccess文件必须放到跟目录下

这个文件里面加:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]

补充: windows 里面不能创建 .htaccess , 下面我说下创建方法
新建任何一个文件,然后打开, 点击另存为 (文件类型选择所有),这样就可以创建了

Tuesday, April 7, 2015

mysql两种计算坐标距离的方法

SET @lat = 33;
SET @lon = -98;
SELECT count(*) FROM pecker_db.d_zip_lookup
where MBRContains(
              LineString
                        (
                        Point
                                 (
                                 @lon + 100 / ( 111.1 / COS(RADIANS(@lat))),
                                    @lat + 100 / 111.1
                                 ),
                        Point    (
                                 @lon - 100 / ( 111.1 / COS(RADIANS(@lat))),
                                    @lat - 100 / 111.1
                                 )
                        ),
                   my_point)

使用mbrcontains方法,需要自己my_point blob位置属性
实际上是一个矩形,较慢


SET @lat = 33;
SET @lon = -98;  
SELECT (6371 * acos( cos( radians(lat_loc) ) * cos( radians( @lat ) ) * cos( radians( @lon ) - radians(lng_loc) ) + sin( radians(lat_loc) ) * sin( radians( @lat ) ) ) ) as distance
FROM pecker_db.d_zip_lookup
 where lat_loc between @lat-2 and @lat+2
and lng_loc between @lon-2 and @lon+2
having distance<100;
速度快,关键的地方在于划定区域来计算

参考http://geography.about.com/library/faq/blqzdistancedegree.htm

jquery 解析 json数据

<script type="text/javascript">
$(document).ready(function(){
$("#button").click(function(){
alert ("good");

$.getJSON("http://localhost/index.php/users", function(json){
         
$.each(json, function(idx, obj) {
             
                 
                    alert(obj.name);
           
             });


       });
});
});
</script>
json格式:
[{"user_id":"2","username":"guest2","name":"John","profile_pic":""},{"user_id":"1","username":"guest","name":"tom","profile_pic":""}]
json的格式对于解析非常重要,一定要规范化

Friday, April 3, 2015

XSD文件中的的正则表达式

由于XML对于格式的要求,xsd里面需要用正则表达式 regular expression

来自definitive XML Schema
<xs:pattern value="\d{3}-[A-Z]{2}|\d{7}">  表示3个数字-2个大写字母    或者 7个数字
\d被称为atom {3}被称为数量  |表示或者
 表示空格
a.z表示 az之间有一个字符例如 a2z, ayz, 但是acdz不可以
a\.z 表示  a.z   \.表示转义字符
abc.*表示以abc开头的字符串,包括abc
\d表示阿拉伯数字
\s表示whitespace,不一定只有空格
[abc]z表示abc里选一个加z
[p-q/d]z   例如 pz, 5z,qz
[^ab]z     非ab的字母加z
? 0或1次
+  一次及以上
* 0次或多次

感觉正则表达式非常的强大