Задать вопрос
gikami
@gikami
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);
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 1
erge
@erge
Примус починяю
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 ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы