<?php

require '../dao/TopicDao.php';
require '../dao/GetDao.php';
require '../dao/MessageDao.php';
$topicName = $_REQUEST['topicName'];
$userId = $_REQUEST['userId'];
//是否精确查询,否则采取模糊匹配
$isExact = (bool) $_REQUEST['isExact'];
$topicDao = new TopicDao();
$getDao = new GetDao();
$messageDao = new MessageDao();
$topicDao = new TopicDao();
$topic = (object) array();
$topic->postTopic = json_decode($topicDao->searchPostTopic($userId, $topicName, $isExact))->resultArray;
$topic->achieveTopic = json_decode($topicDao->searchAchieveTopic($userId, $topicName, $isExact))->resultArray;
foreach ($topic->achieveTopic as $index => $achieve) {
    $achieveId = $achieve->achieveId;
    $achieve->getCount = (int) $getDao->achieveGetCount($achieveId);
    $achieve->mesgCount = (int) $messageDao->achieveMessageCount($achieveId);
}
echo json_encode($topic);
Пример #2
0
 /**
  *	获得成就列表中每条成就的详尽信息,包括吐槽数、完成数
  *	@Param $userId
  *	@Param $sq
  *	@Param $orderField( default '') 排序字段
  *	@Param $achieveType( default '')
  *	@Return
  */
 private function achieve($userId, $sql, $orderField = '', $achieveType = '')
 {
     if ($userId != null) {
         $sql = "select p.* , g.isGet from ({$sql}) p left outer join tb_get g on g.getUser = '******' and g.getAchieve = p.achieveId ";
         if (!empty($orderField)) {
             $sql .= "order by p.{$orderField} desc";
         }
     }
     $achieveList = json_decode($this->query($sql))->resultArray;
     $messageDao = new MessageDao();
     $getDao = new GetDao();
     $result = (object) array();
     if (!empty($achieveType)) {
         $result->userGetCount = $this->userGetCount($userId, $achieveType);
         $result->totalAchieveCount = $this->totalAchieveCount($achieveType);
     }
     foreach ($achieveList as $index => $achieve) {
         $achieveId = $achieve->achieveId;
         $achieve->getCount = $getDao->achieveGetCount($achieveId);
         $achieve->mesgCount = $messageDao->achieveMessageCount($achieveId);
     }
     $result->achieveList = $achieveList;
     return json_encode($result);
 }