微擎实现按距离由近到远推荐附近商户
代码如下:$pindex = max(1, intval($_GPC['page']));
$psize = 15;
$condition = " WHERE uniacid=:uniacid AND adcode=:adcode";
$params = array(
':uniacid' => $_W['uniacid'],
':adcode' => $adcode
);
if (!empty(trim($_GPC['keyword']))) {
$condition .= " AND name LIKE :keyword";
$params[':keyword'] = "%".trim($_GPC['keyword'])."%";
}
// 数量
$total = pdo_fetchcolumn('SELECT COUNT(*) FROM ' .tablename('new_hexiao_merchant'). $condition, $params);
$condition .= ' ORDER BY distance ASC LIMIT ' . ($pindex - 1) * $psize . ',' . $psize;
if ($total > 0) {
// 商户
$list = pdo_fetchall("SELECT *, (6371 * acos(cos(radians($lat)) * cos(radians(lat)) * cos(radians(lng) - radians($lng)) + sin(radians($lat)) * sin(radians(lat)))) AS distance FROM " .tablename('new_hexiao_merchant'). $condition, $params);
foreach ($list as &$row) {
$row['distance'] = number_format($row['distance'], 2);
}
unset($row);
}
// 页码
$pages = diypager($total, $pindex, $psize);适合为用户推荐附近的加油站,自提点,商户等。
页:
[1]