article.model.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * 文章管理
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. class articleModel{
  11. /**
  12. * 列表
  13. *
  14. * @param array $condition 检索条件
  15. * @param obj $page 分页
  16. * @return array 数组结构的返回结果
  17. */
  18. public function getArticleList($condition,$page=''){
  19. $condition_str = $this->_condition($condition);
  20. $param = array();
  21. $param['table'] = 'article';
  22. $param['where'] = $condition_str;
  23. $param['limit'] = $condition['limit'];
  24. $param['order'] = (empty($condition['order'])?'article_sort asc,article_time desc':$condition['order']);
  25. $result = Db::select($param,$page);
  26. return $result;
  27. }
  28. /**
  29. * 连接查询列表
  30. *
  31. * @param array $condition 检索条件
  32. * @param obj $page 分页
  33. * @return array 数组结构的返回结果
  34. */
  35. public function getJoinList($condition,$page=''){
  36. $result = array();
  37. $condition_str = $this->_condition($condition);
  38. $param = array();
  39. $param['table'] = 'article,article_class';
  40. $param['field'] = empty($condition['field'])?'*':$condition['field'];;
  41. $param['join_type'] = empty($condition['join_type'])?'left join':$condition['join_type'];
  42. $param['join_on'] = array('article.ac_id=article_class.ac_id');
  43. $param['where'] = $condition_str;
  44. $param['limit'] = $condition['limit'];
  45. $param['order'] = empty($condition['order'])?'article.article_sort':$condition['order'];
  46. $result = Db::select($param,$page);
  47. return $result;
  48. }
  49. /**
  50. * 构造检索条件
  51. *
  52. * @param int $id 记录ID
  53. * @return string 字符串类型的返回结果
  54. */
  55. private function _condition($condition){
  56. $condition_str = '';
  57. if ($condition['article_show'] != ''){
  58. $condition_str .= " and article.article_show = '". $condition['article_show'] ."'";
  59. }
  60. if ($condition['ac_id'] != ''){
  61. $condition_str .= " and article.ac_id = '". $condition['ac_id'] ."'";
  62. }
  63. if ($condition['ac_ids'] != ''){
  64. //if(is_array($condition['ac_ids']))$condition['ac_ids'] = implode(',',$condition['ac_ids']);
  65. $condition_str .= " and article.ac_id in(". $condition['ac_ids'] .")";
  66. }
  67. if ($condition['like_title'] != ''){
  68. $condition_str .= " and article.article_title like '%". $condition['like_title'] ."%'";
  69. }
  70. if ($condition['home_index'] != ''){
  71. $condition_str .= " and (article_class.ac_id <= 7 or (article_class.ac_parent_id > 0 and article_class.ac_parent_id <= 7))";
  72. }
  73. return $condition_str;
  74. }
  75. /**
  76. * 取单个内容
  77. *
  78. * @param int $id ID
  79. * @return array 数组类型的返回结果
  80. */
  81. public function getOneArticle($id){
  82. if (intval($id) > 0){
  83. $param = array();
  84. $param['table'] = 'article';
  85. $param['field'] = 'article_id';
  86. $param['value'] = intval($id);
  87. $result = Db::getRow($param);
  88. return $result;
  89. }else {
  90. return false;
  91. }
  92. }
  93. /**
  94. * 新增
  95. *
  96. * @param array $param 参数内容
  97. * @return bool 布尔类型的返回结果
  98. */
  99. public function add($param){
  100. if (empty($param)){
  101. return false;
  102. }
  103. if (is_array($param)){
  104. $tmp = array();
  105. foreach ($param as $k => $v){
  106. $tmp[$k] = $v;
  107. }
  108. $result = Db::insert('article',$tmp);
  109. return $result;
  110. }else {
  111. return false;
  112. }
  113. }
  114. /**
  115. * 更新信息
  116. *
  117. * @param array $param 更新数据
  118. * @return bool 布尔类型的返回结果
  119. */
  120. public function update($param){
  121. if (empty($param)){
  122. return false;
  123. }
  124. if (is_array($param)){
  125. $tmp = array();
  126. foreach ($param as $k => $v){
  127. $tmp[$k] = $v;
  128. }
  129. $where = " article_id = '". $param['article_id'] ."'";
  130. $result = Db::update('article',$tmp,$where);
  131. return $result;
  132. }else {
  133. return false;
  134. }
  135. }
  136. /**
  137. * 删除
  138. *
  139. * @param int $id 记录ID
  140. * @return bool 布尔类型的返回结果
  141. */
  142. public function del($id){
  143. if (intval($id) > 0){
  144. $where = " article_id = '". intval($id) ."'";
  145. $result = Db::delete('article',$where);
  146. return $result;
  147. }else {
  148. return false;
  149. }
  150. }
  151. }