/** * PVテーブルカウントアップ処理します * @param array $session セッション情報 * @param array $clickId クリックID(ex. c01) * @see insertPv * @see updatePv */ public function countUpPv($session, $clickId) { // クリックタイプを取得 $type = "click"; $this->_log->debug('get.type.pv.' . $type); $mediaId = $session['media_id']; // DB処理 $db =& $this->_core->getDB(); $today = date('Y-m-d'); $name = CampaignDbTableNames::getName_PV($this->_code); $sql = <<<SQL select count(*) as cnt from {$name} where reg_date=? and media_id=? and pv_syubetsu=? SQL; $param = array($today, $mediaId, $type); $data =& $db->query($sql, $param); $count = $data[0]["cnt"]; if ($count == 0) { // 初回 $this->insertPv($session, $type); $this->_log->debug('db.countup.pv.insert'); } else { // カウントアップ $this->updatePv($session, $type); $this->_log->debug('db.countup.pv.update'); } }
/** * PVテーブルのカウントアップします。 * @param array $teikei 提携メディア情報 * @param string $patternId パターンID */ public function countUpLpoPv(&$teikei, $patternId) { if ($patternId == null) { return; } $db =& $this->_core->getDB(); $mediaId = $teikei['media_id']; $ankenId = $teikei['anken_id']; $today = date('Y-m-d'); $name = CampaignDbTableNames::getName_PV($this->_code); $sql = <<<SQL select count(media_id) as cnt from {$name} where reg_date=? and media_id=? and pv_syubetsu=? SQL; $syubetsu = 'lpo' . $patternId . '_' . self::DEFAULT_PV_SYUBETSU; $param = array($today, $mediaId, $syubetsu); $data =& $db->query($sql, $param); $count = $data[0]["cnt"]; if ($count == 0) { $sql = <<<SQL insert into {$name} (reg_date, media_id, pv_syubetsu, anken_id, count) values (?, ?, ?, ?, 1) SQL; $param = array($today, $mediaId, $syubetsu, $ankenId); $db->execute($sql, $param); } else { $sql = <<<SQL update {$name} set count=count+1 where reg_date=? and media_id=? and pv_syubetsu=? SQL; $param = array($today, $mediaId, $syubetsu); $db->execute($sql, $param); } }
/** * PVテーブルへモバイルキャリア別カウントのカウントアップ * @param array $teikei 提携メディア情報 * @param string $mob_carrier モバイルキャリア */ protected function updateDbPvMobile(&$teikei, $mob_carrier) { $db =& $this->_core->getDB(); $mediaId = $teikei['media_id']; $today = date('Y-m-d'); $name = CampaignDbTableNames::getName_PV($this->_code); $sql = <<<SQL update {$name} set count=count+1 where reg_date=? and media_id=? and pv_syubetsu=? SQL; $param = array($today, $mediaId, $mob_carrier); $db->execute($sql, $param); }
/** * @brief PVテーブルへの更新をします。 * @param array $p_session セッション情報 */ protected function updateDbClick(&$p_session, $pv_type ='click') { $db =& $this->_core->getDB(); $mediaId = $p_session['media_id']; $today = date('Y-m-d'); $name = CampaignDbTableNames::getName_PV($this->_code); $sql = <<<SQL update {$name} set count=count+1 where reg_date=? and media_id=? and pv_syubetsu=? SQL; $param = array($today, $mediaId, $pv_type); $db->execute($sql, $param); }