Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557

Вывод пользователей, у которых информация в двух таблицах

12.01.2014, 22:25. Показов 729. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Нужно вывести всех пользователей "с типом пользователя = студент", у которых "группа=7-78-5", "предмет=Методы Оптимизации", "получатель файла = id пользователя". Собственно говоря, такой вот запрос правильно работает/выводится в phpMyAdmin:
SQL
1
SELECT * FROM `files`,`users` WHERE `files`.`predmet` = "Методы Оптимизации" AND `files`.`poluchatel_file`=`users`.`id` AND `users`.`type_users` = "Студент" AND `users`.`group` = "7-78-5" ORDER BY `users`.`group`
Но когда делаю такой же запрос на сайте, то он выводит почему-то даже тех, у которых "предмет не равен Методы Оптимизации". Такое ощущение что игнорируется часть запроса, а именно: `files`.`predmet` = "Методы Оптимизации"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2014, 22:25
Ответы с готовыми решениями:

Вывод информация для пользователей с idx0 до idx1
Есть переменная $text, которая выводит определенный текст Есть вторая перемененная $text1, которая вновь выводит определенный текст ...

Вывод списка пользователей, у которых в ближайшее время истечёт срок действия пароля
Привет всем. Можно ли написать скрипт, который выводил бы список пользователей, у которых в ближайшее время истечет срок действия пароля?

Вывод имён только тех пользователей, у которых согласно учетной записи истекает время использования пароля
Нужна помощь!!! У меня получилось что выводить всех пользователь, а мне нужно только те пользователи у кого истекают пароли (учетной...

8
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
12.01.2014, 22:39
SQL
1
"SELECT * FROM files, users WHERE files.predmet = 'Методы Оптимизации' AND files.poluchatel_file = users.id AND users.type_users = 'Студент' AND users.group =  '7-78-5' ORDER BY users.group";
Проверь может кодировка не та задана при отправке запроса именно в
SQL
1
files.predmet
Либо идёт строгое сравнение полей.
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
12.01.2014, 22:46  [ТС]
Цитата Сообщение от anonymous_23 Посмотреть сообщение
Проверь может кодировка не та задана при отправке запроса
Да везде вроде одинаковая кодировка стоит, только что проверил.

Цитата Сообщение от anonymous_23 Посмотреть сообщение
Либо идёт строгое сравнение полей.
Можно на счет этого поподробней?

Ну и в phpMyAdmin работает как нужно запрос
0
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
12.01.2014, 22:53
В БД на сколько я помню, есть 2 UTF-8 кодировки , одна при сравнении будет проверять регистр символов, а другая нет. Как предположение в базе например стоит UTF-8 с проверкой регистра и значение написано допустим 'методы оптимизации', а ты передаёшь ему 'Методы Оптимизации'. если уже нет и всё как бы окей, то как вытащил массив из базы, то сразу глянь его
PHP
1
var_dump();  // Всегда в помощь в этих случаях
Или может в цикле на выводе проблемы. В общем нужно код глядеть!
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
12.01.2014, 23:09  [ТС]
Цитата Сообщение от anonymous_23 Посмотреть сообщение
написано допустим 'методы оптимизации', а ты передаёшь ему 'Методы Оптимизации'
В базе написано 'Методы Оптимизации' (без кавычек), да и с типом пользователя = Студент же все нормально.

Цитата Сообщение от anonymous_23 Посмотреть сообщение
В общем нужно код глядеть!
Что именно скинуть? Вот часть кода пока
PHP
1
2
3
4
<?php 
include ("bd.php");
$resource= mysql_query('SELECT * FROM `files`,`users` WHERE `files`.`predmet` = "Методы Оптимизации" AND `files`.`poluchatel_file`=`users`.`id` AND `users`.`type_users` = "Студент" AND `users`.`group` = "7-78-5" ORDER by `users`.`group`', $db); 
var_dump($resource); ?>
Выводит: resource(6) of type (mysql result)

Добавлено через 9 минут
Хм...ставлю другой предмет (например ГИС), результат тот же, выводится по всем предметам
0
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
12.01.2014, 23:15
Если в самом mysql запрос отрабатывает на УРА, то это не в запросе дело, а уже в php. А цикл как устроен вывода?
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
12.01.2014, 23:19  [ТС]
Цитата Сообщение от anonymous_23 Посмотреть сообщение
Если в самом mysql запрос отрабатывает на УРА, то это не в запросе дело, а уже в php. А цикл как устроен вывода?
Приведу пример вывода группы, имени, фамилии, темы (остальные аналогично, такие как имя, фамилия, язык программирования и др)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php    while($array2 = mysql_fetch_assoc($resource)) : ?>
    <tr>
     <td align="center"><?php echo $array2['group'];  ?></td> <!-- Группа -->
     <td align="center"><?php echo $array2['name']; echo ' '; echo $array2['familiya']; ?></td> <!-- Студенты -->
 
     <td align="center"><?php  
 
      $name = @$_SESSION['login'];
      $poluchatel_file = $array2['id'];// id пользователя, для которого предназначается комментарий
      $mysqli = new mysqli("данные для подключения", 3306);// Подключается к базе данных
 
      $mysqli->query("SET CHARACTER_SET_client='cp1251'");
      $mysqli->query("SET CHARACTER_SET_results='cp1251'");
      $mysqli->query("SET collation_connection='cp1251_general_ci'");
 
      $result_set = $mysqli->query("SELECT * FROM `files` WHERE `file_id`='$file_id' AND `poluchatel_file` = " .$array2['id']); //Вытаскиваем все данные для данного файла
 
      if($result_set)
       {
        while ($row = $result_set->fetch_assoc())
        {
         print_r($row["tema"]); echo "<br>"; //Вывод темы
        }
       }
?>
<?php endwhile ?>
0
27 / 27 / 10
Регистрация: 26.01.2013
Сообщений: 231
12.01.2014, 23:27
Цитата Сообщение от TheRealKos Посмотреть сообщение
$file_id
Это идентификатор "Методы Оптимизации"?
0
2 / 2 / 3
Регистрация: 11.09.2011
Сообщений: 557
13.01.2014, 11:19  [ТС]
Цитата Сообщение от anonymous_23 Посмотреть сообщение
Это идентификатор "Методы Оптимизации"?
Нет, file_id у всех равен 555, это лишнее

Добавлено через 1 час 6 минут
Так и нет идей, почему же на сайте не выполняется запрос правильно?

Добавлено через 47 минут
anonymous_23, если что-то получится, напишите пожалуйста

Добавлено через 9 часов 56 минут
Что странно, если ставить на первое место таблицу `users`, то выводятся группа и имя пользователя, больше ни чего..., хотя в phpMyAdmin все нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2014, 11:19
Помогаю со студенческими работами здесь

Добавления в двух таблицах
Я очень прошу, кто может помочь мне, очень срочно нужно. 1. Чтобы каждый раз не вводить данные от руки, при ввода код в база2 все...

Подсчет значений в двух таблицах
Добрый день! Прошу помочь с написанием запроса на SQL: Есть 3 таблицы: Товар, Склад1 и Склад2. На складах хранятся товары, необходимо...

Сравнение данных в двух таблицах БД
Есть две таблицы в одной базе данных, как сравнить значения столбцов и если они совпадут вывести что либо. Например первая таблица...

Синхронизация записей в двух таблицах
Люди помогите как можно сделать такой запрос в БД две таблицы 1. таблица бана на форуме |user|-|forumban=0| 2. таблица бана на...

Поиск в двух таблицах по одному id
Есть база sql, в ней 2 таблицы. 1-пользователи(фио). 2-информация. Вывел их через GridView. Через поиск нахожу одного пользователя из 1-й...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru