Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1

Данные из нескольких таблиц

14.02.2016, 10:43. Показов 730. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи.

Такая проблема у меня.


У меня есть в одной таблице категории характеристик

А во второй таблице есть список значений с привязкой к определенному категорию.

А в третем есть идентификатор товара, идентификатор значения, значение характеристики.

Вот как сделать так чтобы она прошлась по всем 3 таблицам и получить список Категорий в которые заполнены значения.



Вот пример

PHP
1
2
3
4
5
6
7
8
9
10
11
12
        $q = $mysql::query("SELECT * FROM `patterncat`");
        
        foreach ($q::fetchAl() as $value) 
        {
            $cat = $mysql::query("SELECT * FROM `pattern` WHERE `parent_id` = ?",[$value->id])->fetchArray();    
 
            if($cat['parent_id'] == $value->id) 
            {
                echo '<tr class="q123 collapsed">
                    <td class="SpecialCharactersHr" colspan="2">'.$value->name.'</td>
                </tr>';
            }
Таблица `patterncat` -- Тут список категорий характеристик в ней (id,name)
Таблица `pattern` -- Тут список значений (id,parent_id,name) (parent_id -- Это ID категории)
Таблица `tovar_pattern` -- Тут список характеристик которых заполнил автор (id,id_item, id_parent,name)

(id_item - Идентификатор товара, id_parent -- Идентификатор значения характеристики, name -- Название).


Вот описал все что мог если что задайте я отвечу.

Просто уже 2 день не могу разобраться вот код который писал он выводит но он не проходит по id товару.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2016, 10:43
Ответы с готовыми решениями:

Вывести данные из нескольких таблиц
Привет! Есть таблицы: tickets (билеты на матчи, купленные пользователями): id|uid|match_id 1|3|2 2|2|3

Как правильно считать и совместить данные с нескольких таблиц?
Привет! Есть 3 таблицы: teams: id|name|country_id 1|Одуванчики|ru 2|Ромашки|ua 3|Тюльпанчики|usa

Выбрать данные из нескольких таблиц только по существующим значениям в таблицах
$result = mysqli_query( $this-&gt;db, &quot;SELECT a.*, u.*, uc.* FROM table1 a LEFT JOIN table2...

11
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
14.02.2016, 11:20
Вам скрипт ошибки не выдает???
Я ООП не знаю, но уверен, что fetchAl пишется с 2мя "l".
PHP
1
$cat = $mysql::query("SELECT * FROM `pattern` WHERE `parent_id` = ?",[$value->id])->fetchArray();
А что это за запятая ",[ ?? Насколько я понимаю, здесь Вы конкатенируете. Значит, точка нужна.
0
 Аватар для Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
14.02.2016, 11:30  [ТС]
fetchAl() - это mysql_fetch_array(),

Чтобы понятнее было

PHP
1
$mysql::query("SELECT * FROM `pattern` WHERE `parent_id` = '{$value->id}'")->fetchArray();
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
14.02.2016, 11:33
Цитата Сообщение от Shamsik Посмотреть сообщение
fetchAl() - это mysql_fetch_array(),
из мануала
$result = $sth->fetchAll();
Видите разницу?
0
 Аватар для Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
14.02.2016, 11:34  [ТС]
Логика такая же только небольшая модификация.

PHP
1
2
3
4
5
6
7
8
9
10
  public function fetchAl()
  {
    $return = array();
    if ($this->_default_result_type == 'object') {
      $return = $this->fetchAllObject();
    } else if ($this->_default_result_type == 'array') {
      $return = $this->fetchAllArray();
    }
    return $return;
  }
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
14.02.2016, 11:38
Цитата Сообщение от Shamsik Посмотреть сообщение
public function fetchAl()
Понятно. Пользовательская функция.
0
 Аватар для Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
14.02.2016, 11:54  [ТС]
Ребята незнаете да как решить эту проблему очень нужно пожалуйста.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
14.02.2016, 11:59
Цитата Сообщение от Shamsik Посмотреть сообщение
Ребята незнаете да как решить эту проблему
составить запрос используя JOIN
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
14.02.2016, 12:10
Цитата Сообщение от Shamsik Посмотреть сообщение
Ребята незнаете да как решить эту проблему очень нужно пожалуйста.
Опишите с примерами( что есть в 3х таблицах и что должно вывести ).
0
 Аватар для Shamsik
-42 / 17 / 15
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
14.02.2016, 12:17  [ТС]
Описание по таблицам сверху.

Выводить нужно категории характеристик
0
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
14.02.2016, 12:19
Цитата Сообщение от Shamsik Посмотреть сообщение
Описание по таблицам сверху.
Выводить нужно категории характеристик
приведите строки таблиц.
приведите что в итоге должно получится.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
14.02.2016, 12:20
Shamsik, если правильно понял то связь у вас такая
Таблица `tovar_pattern` связана с Таблица `pattern` по `pattern`.`id` = `tovar_pattern`.`id_item`, а
Таблица `pattern` связана с Таблица `patterncat` по `patterncat`.`id` = `pattern`.`parent_id`
то наверно както так
SQL
1
2
3
4
SELECT TP.name FROM tovar_pattern TP
INNER JOIN pattern PA ON TP.id_item = PA.id
INNER JOIN patterncat PC ON PA.parent_id = PC.id
WHERE тут условие по которому выводить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2016, 12:20
Помогаю со студенческими работами здесь

Пытаюсь вытащить данные из двух таблиц, но данные попадает только из одной. Что мне делать?
Здравствуйте вот таким образом пытаюсь вытащить с двух таблиц данные но данные попадает только с одного что мне делать вот полный код: ...

Объединить данные с нескольких таблиц
Здравствуйте добрые люди! надо объеденить данные об отсутствующих товарах в разных городах в один список каждый город добавить отдельными...

Данные страницы из нескольких таблиц
Есть 2 таблицы: cpp_page {id, title, description} cpp_screens {pageid, url, alt} Чтобы получить данные одной страницы делаю запрос: ...

DataGrid, DataView и данные из нескольких таблиц…
Подскажите пожалуйста, 1) Как вывести данные из нескольких таблиц одновременно в одном элементе DataGrid? 1) Как добавить в...

Вывести данные из нескольких таблиц в QRep
Имеется форма на которой пользователь создает таблицы и заполняет их. По нажатию кнопки необходимо вывести отчет такого вида: Имя...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru