Кто нибудь объяснит что хотел разработчик - MySQL

Узнай цену своей работы

Формулировка задачи:

Я не могу понять что эта функция делает (разбираюсь в чужом "движке"), а еще я не понимаю что за прифексы M и S около название полей.... Просто что за бред зачем их так перечислять объясните мнеее
Листинг программы
  1. public function Friends_Updates($uid, $lastid, $lastmid, $lastsid) {
  2. $moresharequery = "";
  3. if ($lastsid) {
  4. $moresharequery = " and S.share_id > '" . $lastsid . "' ";
  5. }
  6. /* More Button*/
  7. $morequery="";
  8. if($lastid) {
  9. //build up the query
  10. $morequery=" and M.msg_id<'".$lastid."' ";
  11. }
  12. if($lastmid) {
  13. //build up the query
  14. $morequery=" and M.msg_id>'".$lastmid."' ";
  15. }
  16. $data = null;
  17. /*More Button End*/
  18. $v=mysqli_query($this->db,"SELECT share_id FROM message_share") or die(mysqli_error($this->db));
  19. if(mysqli_num_rows($v)) {
  20. //The query to select friend messages
  21. $query=mysqli_query($this->db,"(SELECT DISTINCT
  22. M.msg_id,
  23. M.uid_fk,
  24. M.shared_uid_fk,
  25. M.shared_msg_id_fk,
  26. M.last_shared_uid_fk,
  27. M.message,
  28. M.hide_show_comment,
  29. M.hide_show_share,
  30. M.postPrivacy,
  31. M.lovedPost,
  32. M.hashTag,
  33. M.share_count,
  34. S.created,
  35. M.like_count,
  36. M.comment_count,
  37. U.username,
  38. M.uploads,
  39. S.uid_fk AS share_uid,
  40. S.ouid_fk AS share_ouid
  41. FROM
  42. messages M
  43. JOIN message_share S ON M.msg_id = S.msg_id_fk
  44. JOIN friends F ON F.friend_two = S.uid_fk OR S.uid_fk = '$uid'
  45. JOIN users U ON S.ouid_fk = U.uid
  46. WHERE
  47. F.friend_one='$uid'
  48. AND U.uid != F.friend_one
  49. AND U.status='1'
  50. AND F.role='fri'
  51. $moresharequery
  52. )
  53. UNION
  54. (SELECT DISTINCT
  55. M.msg_id,
  56. M.uid_fk,
  57. M.shared_uid_fk,
  58. M.shared_msg_id_fk,
  59. M.last_shared_uid_fk,
  60. M.message,
  61. M.hide_show_comment,
  62. M.postPrivacy,
  63. M.hide_show_share,
  64. M.lovedPost,
  65. M.hashTag,
  66. M.share_count,
  67. M.created,
  68. M.like_count,
  69. M.comment_count,
  70. U.username,
  71. M.uploads,
  72. '0' AS share_uid,
  73. '0' AS share_ouid
  74. FROM
  75. messages M
  76. JOIN users U ON M.uid_fk = U.uid
  77. JOIN friends F ON M.uid_fk = F.friend_two
  78. WHERE
  79. F.friend_one='$uid'
  80. AND U.status='1'
  81. $morequery ) order by created desc limit " .$this->perpage) or die(mysqli_error($this->db));
  82. } else {
  83. $query = mysqli_query($this->db,"SELECT DISTINCT M.msg_id, M.uid_fk,M.shared_uid_fk,M.shared_msg_id_fk,M.last_shared_uid_fk, M.message,M.hide_show_comment,M.postPrivacy,M.hide_show_share,M.lovedPost,M.hashTag,M.like_count,M.comment_count, M.created,U.username,M.uploads FROM messages M, users U, friends F WHERE U.status='1' AND M.uid_fk=U.uid AND M.uid_fk = F.friend_two AND F.friend_one='$uid' $morequery order by M.msg_id desc limit " .$this->perpage) or die(mysqli_error($this->db));
  84. }
  85. //Store the result
  86. while($row=mysqli_fetch_array($query)) {
  87. // Store the result into array
  88. $data[]=$row;
  89. }
  90. if(!empty($data)) {
  91. // Store the result into array
  92. return $data;
  93. }
  94. }

Решение задачи: «Кто нибудь объяснит что хотел разработчик»

textual
Листинг программы
  1. SELECT T1.id AS Id1, T2.id AS Id2

Объяснение кода листинга программы

  1. T1 - это таблица или представление данных, которое содержит столбец id.
  2. T2 - это таблица или представление данных, которое также содержит столбец id.
  3. Id1 - это псевдоним для столбца id из таблицы или представления данных T1.
  4. Id2 - это псевдоним для столбца id из таблицы или представления данных T2.
  5. SELECT - это оператор, который используется для выбора данных из одной или нескольких таблиц или представлений.
  6. AS - это оператор, который используется для создания псевдонима для столбца или выражения в запросе.
  7. Id1, Id2 - это псевдонимы, которые используются в запросе для обозначения выбранных столбцов.
  8. В данном случае, запрос выбирает столбцы id из таблиц или представлений T1 и T2.
  9. Запрос возвращает два столбца: Id1 и Id2, которые являются псевдонимами для столбцов id из таблиц или представлений T1 и T2 соответственно.
  10. Ваш запрос не содержит оператора FROM, поэтому мы не можем точно сказать, откуда берутся данные. Вероятно, это опечатка или пропущенная часть запроса.
  11. Ваш запрос также не содержит оператора WHERE, который обычно используется для фильтрации данных.
  12. Ваш запрос возвращает только столбцы Id1 и Id2, поэтому мы не знаем, какие другие данные могут быть включены в результат.
  13. Ваш запрос не содержит оператора GROUP BY или HAVING, поэтому мы не можем сказать, как данные будут сгруппированы или отфильтрованы.
  14. Ваш запрос не содержит оператора ORDER BY, поэтому мы не можем сказать, как данные будут отсортированы.
  15. Ваш запрос не содержит оператора LIMIT, поэтому мы не можем сказать, сколько строк будет возвращено.
  16. Ваш запрос не содержит оператора INTO, поэтому мы не знаем, куда будут сохранены результаты.
  17. Ваш запрос не содержит оператора JOIN, поэтому мы не можем сказать, как таблицы будут объединены.
  18. Ваш запрос не содержит оператора SUBQUERY, поэтому мы не можем сказать, есть ли вложенные запросы.
  19. Ваш запрос не содержит оператора DISTINCT, поэтому мы не можем сказать, какие данные будут уникальными.
  20. Ваш запрос не содержит оператора UNION, поэтому мы не можем сказать, какие другие запросы могут быть объединены с этим.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы