[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Цикл в цикле
max74max74
Здравствуйте, помогите пожалуйста разобраться и найти ошибку.
Есть таблицы:

INSERT INTO `razdely` (`id`, `id_creatora`, `razdel`) VALUES
(1, '7', '11'),
(
2, '9', '12'),
(
3, '9', '13'),
(
4, '9', '14'),
(
5, '41', '15');

INSERT INTO `dostup` (`id`, `id_usera`, `id_creatora`, `razdel`, `dostup`) VALUES
(1, '1', '7', '11', '1'),
(
2, '1', '9', '12', '1'),
(
3, '1', '41', '15', '0');


INSERT INTO `users` (`id`, `school_name`) VALUES
(7, 'Школа 1'),
(
9, 'Школа 2'),
(
41, 'Школа 3');


и php код

$baza_id = "1"; //мой id

$result = $mysqli->query("SELECT DISTINCT id_creatora FROM `razdely` ORDER BY id DESC");

while ($row = mysqli_fetch_assoc($result)) {

$result1 = $mysqli->query("SELECT * FROM `dostup` WHERE `id_usera` = '".$baza_id."' && `dostup` = '1' ORDER BY id ASC LIMIT 1"); // !!! ошибка в этой строке

if ($result1->num_rows >= 1) {

$result2 = $mysqli->query("SELECT * FROM `users` WHERE `id` = '".$row[id_creatora]."' ORDER BY id ASC LIMIT 1");

while ($row2 = mysqli_fetch_assoc($result2)) {
echo $row2["school_name"]."<br>";
}
}
}

mysqli_free_result($result);
mysqli_free_result($result1);
mysqli_free_result($result2);


Результатом получаю следующие данные:
Школа 1
Школа 2
Школа 3


Хотя Школа 3 быть не должно, т.к. в таблице `dostup` стоит значение 0

Мне нужно чтобы в первом цикле выбирались все id_creatora которые есть но без повторения, во втором цикле отсеивались все кроме тех, к которым у меня (id_usera =1) есть доступ (dostup = 1). А в третьем цикле выводились названия школ из таблице 'users' исходя из выбранных ранее критериев.

Пожалуйста, помогите найти ошибку в примере или решить задачу с помощью JOIN
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.