/** * WebAdStatModel::updateStatInfo() * 更新广告访问统计信息 * @param int $ipNum ip数值 * @param int $ids 广告ID * @param array $data 数据集 * @return array 结果集数组 */ public static function updateStatInfo($ipNum, $ids, $data) { self::initDB(); $res = self::showIpAdStat($ipNum, $ids); $sql = array2sql($data); if ($res) { $id = $res['id']; $sql = "UPDATE `" . self::$prefix . self::$table . "` SET " . $sql . " WHERE id = '{$id}'"; } else { $sql = "INSERT INTO `" . self::$prefix . self::$table . "` SET " . $sql; } $query = self::$dbConn->query($sql); if ($query) { $rows = self::$dbConn->affected_rows(); if ($rows) { return $rows; } else { self::$errCode = 10001; self::$errMsg = "更新数据失败"; return false; } } else { self::$errCode = 10000; self::$errMsg = "执行SQL语句出错"; return false; } }
/** * WebAdStatAct::act_webAdStat() * 记录网站广告点击 * @param string $ids 广告ID * @return array; */ public function act_webAdStat() { $ids = isset($_REQUEST["ids"]) ? post_check($_REQUEST["ids"]) : ""; $ip = getClientIP(); $ipNum = sprintf('%u', ip2long($ip)); if (empty($ids) || !preg_match("/^([\\d]+,)*[\\d]\$/", $ids)) { self::$errCode = "广告ID参数有误!"; self::$errMsg = 10000; return false; } $res = WebAdStatModel::showIpAdStat($ipNum, $ids); $stats = isset($res['count']) ? $res['count'] : 0; $times = time(); if (empty($stats)) { $res = WebAdStatModel::updateStatInfo($ipNum, $ids, array("adId" => $ids, "ip" => $ip, "ipNum" => $ipNum, "count" => 1, "addTime" => $times, "lastTime" => $times)); } else { $res = WebAdStatModel::updateStatInfo($ipNum, $ids, array("adId" => $ids, "ip" => $ip, "ipNum" => $ipNum, "count" => $stats + 1, "lastTime" => $times)); } self::$errCode = WebAdStatModel::$errCode; self::$errMsg = WebAdStatModel::$errMsg; return $res; }