前端js
queryByNickname:function(){ var targetNickname = $("query_usernick").value; //alert("targetNickname:"+targetNickname); var par = []; var pars = "act=war"; par.push(pars); pars = "t=opponent"; par.push(pars); //pars = "nickname=" + targetNickname; //par.push(pars); pars = par.join("&"); civWarCls.navigateTo(pars); },
includes/page/CivWarPage.php: private function warInfoDetail() {
php添加路由处理方法,调用新的
//else if($type == ‘opponent‘ && $nickname !== ""){
// $opponentComp = new CivWarOpponentComponent($this->app,$this->character);
// $opponentComp->prepareByNickName($nickname);
// $gSmarty->assign("includefile","$G_LANG/civwar/war.dwt");
//}
//StarStar: Get opponent by userNickName public function prepareByNickName($nickName) { global $gSmarty; //$result = $this->app->getAttackTargetList($this->character->level, $this->character->id); $result = $this->app->getAttackTargetListByNickName($nickName); $this->processDisplay($result, $opponentArr); $gSmarty->assign("opponent", $opponentArr); //ajax if($ajax) return $gSmarty->fetch($this->getTemplate()); }
接着去修改CivWarApplication.php,添加新的方法。
//根据昵称查询 public function getAttackTargetListByNickName($nickName){
gloabal $mysqli_read;
$result = array(); $sql = "SELECT a.id,a.platform_user_id,a.platform_usernick as nickname FROM fk_civwar_character a ". "WHERE a.platform_usernick LIKE ‘%".$nickName."%‘ ORDER BY RAND() LIMIT 10"; error_log("getAttackTargetListByNickName:".$nickName); error_log("getAttackTargetListByNickName:".$sql); $res = $mysqli_read->query($sql); while ($row = $res->fetch_array(MYSQLI_ASSOC)) { $result[] = $row; } $locked_uid = getLockUsers(); $idList = array(); foreach ($result as $row) { if ($row[‘id‘] != $charid&&!in_array($row[‘id‘], $locked_uid)) { $idList[] = $row[‘id‘]; if ($this->platform && ++$retCount > 10) { break; } } } return array_values($this->getUserInfoList($idList)); }
原文:http://www.cnblogs.com/xiaosafeimao/p/4985115.html