fuck_ask
@fuck_ask
web программист

Как исправить ошибку при выводе из 2-х таблиц?

Ниже код выводит задачи пользователей.
То есть идет запрос с поиском по ид пользователя в таблицу задачника, и вывод имени из таблицы пользователей.
Проблема: Ставлю сам себе задачу но при выводе выводит столько задач, сколько в базе пользователей( Как такое можно исправить?

include_once('function/config.php');

	$id = 'b00984b7-bdd8-11e9-8718-fcaa141c0d9f'; // ИД пользователя

	$data = array();

	$res = mysqli_query($connect, "
	SELECT `zadachi`.id AS id_zadacha,`zadachi`.*,`users`.* 
	FROM `zadachi`,`users` 
	WHERE `users`.id_1c = `zadachi`.autor AND `zadachi`.komy = '$id' OR (`zadachi`.autor = '$id' AND `zadachi`.komy = '$id') 
	ORDER BY `zadachi`.id DESC"); 

	if($res){
		while ($row = mysqli_fetch_array($res))
		{
			$data[] = $row;
		}
	}

	echo json_encode($data, JSON_UNESCAPED_UNICODE);
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
1. а если INNER JOIN ?

SELECT `zadachi`.id AS id_zadacha,`zadachi`.*,`users`.* 
  FROM `zadachi`
  INNER JOIN `users` ON `users`.id_1c = `zadachi`.autor
  WHERE `zadachi`.komy = '$id' OR (`zadachi`.autor = '$id' AND `zadachi`.komy = '$id') 
  ORDER BY `zadachi`.id DESC


2.
а: Группа новых задач...
б: Группа просроченных задач...
в: Группа поставленных задач кому то...


3 запроса, объединить через UNION ALL
типа
SELECT 'NEW' as group, .... FROM ... 
UNION ALL
SELECT 'EXPIRED' as group, ... FROM ...
UNION ALL
SELECT 'OTHER' as group, ... FROM ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы