Exemplo n.º 1
0
 /**
  * get sql select articles from multi tables
  *
  * @param mixed $arrSummary This is a description
  * @param mixed $intPage This is a description
  * @param mixed $topRow top of article, 0: get all
  * @param mixed $selectField This is a description
  * @param mixed $whereClause This is a description
  * @param mixed $orderBy This is a description
  * @return mixed This is the return value description
  *
  */
 private function getSQLSelectByTableName($arrSummary, $intPage, $topRow, $selectField, $whereClause, $orderBy)
 {
     if ($orderBy) {
         $orderBy = ' ORDER BY ' . $orderBy;
     }
     $listArticleID = '';
     foreach ($arrSummary as $item) {
         $listArticleID = $item[global_mapping::SubContents] . $listArticleID;
     }
     $arrDocInTable = global_common::getListTableName($listArticleID, $intPage, Model_Article::NUM_PER_PAGE, global_common::SEPARATE_BY_MONTH);
     $strSQL = '';
     $condition = '';
     foreach ($arrDocInTable as $key => $iDoc) {
         //print_r($iDoc);
         //check endWith ',' and then remove it
         if (global_common::endsWith($iDoc, ',')) {
             $strDocInTable = global_common::cutLast($iDoc, 1);
         }
         $strTableName = Model_Article::TBL_SL_ARTICLE . '_' . $key;
         if ($whereClause) {
             $condition = 'WHERE (' . global_mapping::IsDeleted . ' IS NULL or ' . global_mapping::IsDeleted . ' = \'0\') and `' . global_mapping::ArticleID . '` IN (' . $strDocInTable . ') and ' . $whereClause;
         } else {
             $condition = 'WHERE (' . global_mapping::IsDeleted . ' IS NULL or ' . global_mapping::IsDeleted . ' = \'0\') and `' . global_mapping::ArticleID . '` IN (' . $strDocInTable . ')';
         }
         if ($topRow > 0) {
             $strSQL .= "(" . global_common::prepareQuery(global_common::SQL_SELECT_FREE_LIMIT, array($selectField, $strTableName, $condition . $orderBy, 0, $topRow)) . " ) UNION ALL ";
         } else {
             $strSQL .= "(" . global_common::prepareQuery(global_common::SQL_SELECT_FREE, array($selectField, $strTableName, $condition . $orderBy)) . " ) UNION ALL ";
         }
     }
     //xóa bỏ đoạn text UNION ALL cuối chuỗi $strSQL
     $strSQL = global_common::cutLast($strSQL, strlen('UNION ALL '));
     //echo $strSQL;
     return $strSQL;
 }
Exemplo n.º 2
0
 public function getCommentByArticle(&$intPage, &$total, $articleID, $selectField = '*', $whereClause = '', $orderBy = '')
 {
     $arrSummary = global_common::getContentIDs($this->_objConnection, $intPage, $articleID, global_common::COMMENT_TYPE);
     if ($arrSummary) {
         if ($orderBy) {
             $orderBy = ' ORDER BY ' . $orderBy;
         }
         $listCommentID = '';
         foreach ($arrSummary as $item) {
             $listCommentID = $item[global_mapping::SubContents] . $listCommentID;
         }
         $IDList = global_common::splitString($listCommentID);
         $total = count($IDList);
         $arrDocInTable = global_common::getListTableName($listCommentID, $intPage, Model_Comment::NUM_PER_PAGE, global_common::SEPARATE_BY_MONTH);
         $strSQL = '';
         $condition = '';
         foreach ($arrDocInTable as $key => $iDoc) {
             //check endWith ',' and then remove it
             if (global_common::endsWith($iDoc, ',')) {
                 $strDocInTable = global_common::cutLast($iDoc, 1);
             }
             $strTableName = Model_Comment::TBL_SL_COMMENT . '_' . $key;
             if ($whereClause) {
                 $condition = 'WHERE (' . global_mapping::IsDeleted . ' IS NULL or ' . global_mapping::IsDeleted . ' = \'0\') and `' . global_mapping::CommentID . '` IN (' . $strDocInTable . ') and ' . $whereClause;
             } else {
                 $condition = 'WHERE (' . global_mapping::IsDeleted . ' IS NULL or ' . global_mapping::IsDeleted . ' = \'0\') and `' . global_mapping::CommentID . '` IN (' . $strDocInTable . ')';
             }
             $strSQL .= "(" . global_common::prepareQuery(global_common::SQL_SELECT_FREE, array($selectField, $strTableName, $condition . $orderBy)) . " ) UNION ALL ";
         }
         //xóa bỏ đoạn text UNION ALL cuối chuỗi $strSQL
         $strSQL = global_common::cutLast($strSQL, strlen('UNION ALL '));
         $arrResult = $this->_objConnection->selectCommand($strSQL);
         $arrResult = global_common::mergeUserInfo($arrResult);
         //print_r($arrResult);
         return $arrResult;
     }
     return null;
 }