ThinkPHP的相关问题

時間會抹平那些皺褶遺 发布于 2014/06/20 14:59
阅读 119
收藏 0

下面是我的代码,

public function index() {
import ( 'ORG.Util.Page' ); // 导入分页类
$lng1 = 113.339172; // 经度值
$lat1 = 23.135501; // 纬度值
$Model = new Model ();
$sql = 'select * from t_sensiange s,t_perception e where s.grnid=e.perid  order by s.serid asc ';
$Ange = $Model->query ( $sql );
if (! empty ( $Ange )) {
$y = 0;
$yar = 1;
$cont ='';
$comer = 0;

foreach ( $Ange as $k => $ke ) {
$lng2 = $ke ['longitude']; // 经度值
$lat2 = $ke ['latitude']; // 纬度值
$sumer = $this->GetDistance ( $lat1, $lng1, $lat2, $lng2 );
//范围500米
if ($sumer > - 1 && $sumer <=500) {
$longitude = $ke ['longitude'];
$latitude = $ke ['latitude'];

$com = ' ' . ($yar ++) . '  |  ' . $ke['poston'] . '  |  ' . $ke['sername'] . '  |  ' . $ke ['sertype']. '  |  ' . $ke['videros'] . '  |  ' . $ke['downoad'] . '  |  ' . $sumer . '<br>';//按$sumer是0~500的记录(74条)
$cont = $cont . '  ' .$com;//显示
$x = count ( $com );
$comer = ($comer + $x); // 统计记录条数


$y = 1;
}
}
if ($y != 0) {
     $Page = new Page ($comer,10); // 实例化分页类 传入总记录数和每页显示的记录数
 $show = $Page->show (); // 分页显示输出
// 怎么将$cont的数据分页,每页显示10条数据

$this->assign ( 'data', $cont);
$this->assign ( 'page',$show);
} else {
$this->assign ( 'data', '500M的范围内没有相关的实测数据!!!' );
}
} else {
$this->assign ( 'data', '没有相关的实测数据!!!' );
}

$this->display (); // 输出模板
}



/**
* 根据经纬度获取距离,单位:Km
*
* $lng1--经度值
* $lat1--纬度值
* $lng2--经度值
* $lat2--纬度值
* return $s米
*/
public function GetDistance($lat1, $lng1, $lat2, $lng2) {
$earthRadius = 6378140; //
$lat1 = ($lat1 * pi ()) / 180;
$lng1 = ($lng1 * pi ()) / 180;
$lat2 = ($lat2 * pi ()) / 180;
$lng2 = ($lng2 * pi ()) / 180;
$calcLongitude = $lng2 - $lng1;
$calcLatitude = $lat2 - $lat1;
$stepOne = pow ( sin ( $calcLatitude / 2 ), 2 ) + cos ( $lat1 ) * cos ( $lat2 ) * pow ( sin ( $calcLongitude / 2 ), 2 );
$stepTwo = 2 * asin ( min ( 1, sqrt ( $stepOne ) ) );
$calculatedDistance = ($earthRadius * $stepTwo);
return round ( $calculatedDistance );
}

加载中
返回顶部
顶部