add_article_to_collect.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. //添加文章到文集
  3. require_once "../path.php";
  4. require_once "../public/_pdo.php";
  5. require_once '../public/function.php';
  6. require_once '../ucenter/function.php';
  7. $output = array();
  8. $respond = array();
  9. $respond['status']=0;
  10. $respond['message']="";
  11. $respond['id']=$_POST["id"];
  12. if(isset($_POST["id"])){
  13. $dirty_collect = array();
  14. $data = json_decode($_POST["data"]);
  15. $title = $_POST["title"];
  16. PDO_Connect(_FILE_DB_USER_ARTICLE_);
  17. $article_id=$_POST["id"];
  18. //找出脏的collect
  19. $query = "SELECT collect_id FROM article_list WHERE article_id = ? ";
  20. $collect = PDO_FetchAll($query,array($article_id));
  21. foreach ($collect as $key => $value) {
  22. # code...
  23. $dirty_collect[$value["collect_id"]] = 1;
  24. }
  25. $query = "DELETE FROM article_list WHERE article_id = ? ";
  26. PDO_Execute($query,array($article_id));
  27. if(count($data)>0){
  28. /* 开始一个事务,关闭自动提交 */
  29. $PDO->beginTransaction();
  30. $query = "INSERT INTO article_list (collect_id, article_id,level,title) VALUES (?, ?, ? , ?)";
  31. $sth = $PDO->prepare($query);
  32. foreach ($data as $row) {
  33. $sth->execute(array($row,$article_id,1,$title));
  34. }
  35. $PDO->commit();
  36. if (!$sth || ($sth && $sth->errorCode() != 0)) {
  37. /* 识别错误且回滚更改 */
  38. $PDO->rollBack();
  39. $error = PDO_ErrorInfo();
  40. $respond['status']=1;
  41. $respond['message']=$error[2];
  42. }
  43. }
  44. # 更新collect
  45. $query = "SELECT collect_id FROM article_list WHERE article_id = ?";
  46. $collect = PDO_FetchAll($query,array($article_id));
  47. foreach ($collect as $key => $value) {
  48. # code...
  49. $dirty_collect[$value["collect_id"]] = 1;
  50. }
  51. foreach ($dirty_collect as $key => $value) {
  52. # code...
  53. $query = "SELECT level,article_id as article , title FROM article_list WHERE collect_id = ?";
  54. $collect_info = PDO_FetchAll($query,array($key));
  55. $query = "UPDATE collect SET article_list = ? WHERE id = ? ";
  56. $strArticleList = json_encode($collect_info, JSON_UNESCAPED_UNICODE);
  57. $stmt = PDO_Execute($query,array( $strArticleList ,$key));
  58. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  59. $error = PDO_ErrorInfo();
  60. $respond['status']=1;
  61. $respond['message']=$error[2];
  62. }
  63. }
  64. }
  65. echo json_encode($respond, JSON_UNESCAPED_UNICODE);
  66. ?>