Есть 2 таблицы:
admin_files:
id | signature
1 | 1
2 | 1
3 | 1
support_files:
id | support_id | admin_file_id
1 | 2 | 1
2 | 2 | 2
3 | 2 | 3
function signature($id){
global $connection;
$query = "SELECT COUNT(*) as kol FROM admin_files WHERE signature = 1 ";
$res = mysqli_query($connection, $query);
$row = mysqli_fetch_assoc($res);
$kol = $row["kol"];
$query = "SELECT a.* FROM admin_files a JOIN support_files s ON s.admin_file_id = a.id WHERE a.signature= 1 AND s.support_id='$id'";
$res = mysqli_query($connection, $query);
if(mysqli_num_rows($res) == $kol){
return;
}else{
$query = "SELECT a.* FROM admin_files a JOIN support_files s ON s.admin_file_id != a.id WHERE a.signature= 1 AND s.support_id='$id'";
$res = mysqli_query($connection, $query);
if(mysqli_num_rows($res) > 0){
$signature = array();
while($row = mysqli_fetch_assoc($res)){
$signature[$row['id']] = $row;
}
return $signature;
}else{
$query = "SELECT * FROM admin_files WHERE signature = 1 ORDER BY id DESC ";
$res = mysqli_query($connection, $query);
$signature = array();
while($row = mysqli_fetch_assoc($res)){
$signature[$row['id']] = $row;
}
return $signature;
}
}
}
Нужно сделать вывод файлов из таблицы admin_files, тех которых нет в таблице support_files иначе выводить все файлы из таблицы admin_files. А если все файлы которые есть в таблице admin_files, есть и в таблице support_files, то ничего не выводить. Выводит нормально до тех пор, пока не совпадают 2 файла из обоих таблиц.Как только 2 файла совпадают, начинает выводить всё что есть в таблице admin_files. Подскажите, пожалуйста, в чём ошибка?