Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 10.08.2018
Сообщений: 59
1
MySQL

Выбрать значение одной таблицы и показать в цикле вывода другой таблицы при совпадении значений

13.08.2018, 15:53. Показов 1219. Ответов 4
Метки нет (Все метки)

Добрый день, не могу понять корень проблемы:

Есть две таблицы: "catalog" и "category" (скрины прикрепляю к посту)

Из таблицы catalog я вывожу товары на страницу, где в ячейке "Категория", должно показываться значение из таблицы category из ячейки "category_name", в случае совпадения значения таблицы catalog ячейки category и значения таблицы category ячейки id.

Вот код обращения:

SQL
1
2
3
4
5
6
7
8
9
10
$query = mysql_query ("
 
SELECT catalog.*
FROM catalog 
JOIN category
ON catalog.category=category.id
ORDER BY catalog.id DESC LIMIT
                                                    
$start, $num")
OR die(mysql_error());

Код рабочий и значения ячеек сравниваются и мне выводится значение из таблицы category, но выводится не имя категории, а её айди,а должно сравниваться и при совпадении выдаваться имя категории.


Это не срабатывает, потому что в sql запросе не хватает условия WHERE, но когда я его добавляю, то у меня вообще ничего не показывается и даже ошибок никаких нет, просто ничего не выводится:


SQL
1
2
3
4
5
6
7
8
9
10
11
$query = mysql_query ("
 
SELECT catalog.*
FROM catalog 
JOIN category
ON catalog.category=category.id
WHERE category.id=category_name
ORDER BY catalog.id DESC LIMIT
                                                    
$start, $num")
OR die(mysql_error());

Что не так?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2018, 15:53
Ответы с готовыми решениями:

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

Замена значений в поле одной таблицы на значение из другой таблицы
Добрый всем день,прошу помощи,так как не силён в программировании, суть вот в чём: есть программка...

Как показать в одной datagridview "задания" из одной таблицы и в каждой строке "сумма опл" из другой таблицы
Здравствуйте. у меня вопрос точно, как в заголовке. Как показать в одной datagridview "задания" из...

Как в поле ID одной таблицы записать значение поля ID другой таблицы
В БД две таблицы: 1)USERS с полями ID_User, Name, Password. В нее записываются пользователи...

4
Модератор
3920 / 2896 / 557
Регистрация: 21.01.2011
Сообщений: 12,550
13.08.2018, 16:02 2
Цитата Сообщение от TheArs Посмотреть сообщение
WHERE category.id=category_name
Ты уверен, что это условие правильное? Обычно id <> name

Добавлено через 15 секунд
Цитата Сообщение от TheArs Посмотреть сообщение
WHERE category.id=category_name
Ты уверен, что это условие правильное? Обычно id <> name
0
1 / 1 / 0
Регистрация: 10.08.2018
Сообщений: 59
13.08.2018, 16:23  [ТС] 3
Скриншоты забыл прикрепить , прикрепляю сейчас.

И ответ в предыдущем в посте мне не помог:

SQL
1
WHERE category.id <> category_name
всё равно не помогает, как было значение числовое, так и осталось (значение соответствующее id категории)
Миниатюры
Выбрать значение одной таблицы и показать в цикле вывода другой таблицы при совпадении значений   Выбрать значение одной таблицы и показать в цикле вывода другой таблицы при совпадении значений  
0
1 / 1 / 0
Регистрация: 10.08.2018
Сообщений: 59
13.08.2018, 16:31  [ТС] 4
Цитата Сообщение от TheArs Посмотреть сообщение
И ответ в предыдущем в посте мне не помог:
Оно ведь не должно быть "не равно", а как раз должно приравниваться, чтобы значение id заменялось при выводе на значение category_name, чтобы я в итоге видел в столбце "Категория" не цифру 9, а название соответствующее этой категории:
Миниатюры
Выбрать значение одной таблицы и показать в цикле вывода другой таблицы при совпадении значений  
0
Особый статус
620 / 218 / 164
Регистрация: 18.11.2015
Сообщений: 1,083
13.08.2018, 17:28 5
Лучший ответ Сообщение было отмечено TheArs как решение

Решение

TheArs, вам вообще условие не нужно, вы же и так в condition к join-у используете catalog.category = category.id, просто в в select-е перечислите поля из таблицы category, а именно:
SQL
1
2
SELECT catalog.*, category.category_name FROM catalog JOIN category ON catalog.category=category.id
ORDER BY catalog.id DESC
далее уже используйте в выводе category_name
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2018, 17:28

Заменить значение ключа из одной таблицы именем из другой таблицы в форме
Здравствуйте! Есть две таблицы. Одна таблица называется &quot;Посуда&quot; с полями &quot;Ключ посуды&quot; и...

Сохранение значений одной таблицы в другой
Здравствуйте! У меня есть две таблицы 1 и 2: 1 заполняется с неглавной формы(ее столбцы:&quot;имя...

Поиск значений из одной таблицы в другой
Есть две таблицы. Из одной, основываясь на значении кода, необходимо найти цену в другой. Проблема...

Поиск значений одной таблицы в другой таблице
Доброго времени суток! Пишу небольшое приложение. Но в этом деле новичок, поэтому возникла...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru