powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из таблицы значений по индексу другой таблицы
25 сообщений из 33, страница 1 из 2
Выборка из таблицы значений по индексу другой таблицы
    #38640223
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Пример: Новостная лента с фотографиями, делаю запрос к базе
$result_set = $MySQLi->query("SELECT * FROM `news` ORDER BY `date` DESC LIMIT 10");
в этой базе есть столбец IMG по которому должны считываться значения из другой таблицы.
В данном примере я считываю последние 10 новостей и вывожу их на экран.
Задумка: Есть таблица `news` в которой записываются цифровые значения в поле IMG (могут повторяться), есть другая таблица, в которой по этим значениям считываются соответствующие значения в соответствующей строке.
Как сделать запрос ко второй таблице, чтобы не загружать её данные полностью
($result_set_img = $MySQLi->query("SELECT * FROM `news_img`;)
Как это лучше реализовать или какой лучше вариант использовать?
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640245
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не очень понял задачу, но похоже, что так:
Код: sql
1.
2.
3.
4.
SELECT * FROM
(SELECT * FROM `news` ORDER BY `date` DESC LIMIT 10) t
LEFT JOIN `news_img` ON t.img=`news_img`.id
order by t.`date`
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640252
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Попробую завтра с двойным SELECT.
Суть моей идеи чтобы новости были в одной таблице, а изображения к каждой новости в другой таблице. Сейчас я тупо кодом прописываю в поле ТЕКСТ ссылки на изображения.
Может есть более разумный вариант это реализовать, использую например только одну таблицу, не знаю
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640673
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается сделать такую выборку, чтобы в одном запросе были нужные данные и в правильной структуре. Придётся загружать массив с новостями и отдельно массив с фотографиями, не знаю будет ли это рационально. Буду для каждой новости проверять наличие фото и уже простым перебором добавлять в новость фото из другого массива.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640678
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алисей,

Ну так вы объясните толком задачу. Где и как лежат данные и в каком виде нужно получить результат. Желательно с примерами.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640744
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Есть две таблицы, одна новости, другая изображения. У каждой новости есть свой imgid, по этому идентификатору ищутся значения в таблице Изображения и добавляются в новость все изображения с этим идентификатором
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640810
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Написал вот такой код для выбора нужных изображений
("SELECT * FROM news_img WHERE news_img.imgid IN (SELECT `imgid` FROM `news` ORDER BY `date` DESC LIMIT 10)")
но при $row_img = $result_set_img->fetch_assoc(); выдаёт ошибку, думаю ошибка в запросе, не могу понять где
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640823
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алисейвыдаёт ошибкукоторую мы должны угадать? запрос на вид нормальный (откидываю в сторону вопросы оптимизации)
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640836
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алисей, по данному запросу не получится считать 10 последних новостей и вывести их на экран (тем более если учитывать, что у разных новостей могут быть одинаковые картинки). Вы выбираете только информацию о картинках. miksoft написал нормальный запрос, зачем писать свою отсебятину, не понимаю однако...
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640840
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine,

не, всё правильно, это у ТС такие замысловатые названия полей.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640849
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Fontaine, другое дело, что запрос miksofta выведет не 10 строк а значительно больше (судя по картинке, в news_img для одной картинки может быть заполнено несколько строк), но эту проблему можно решить уже непосредственно в php
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640858
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir, чё там замысловатого? новости хранятся в таблице news. Информация о картинке в таблице news_img. Всё понятно пока что.
Автор из таблицы новостей берёт id картинок прикреплённых к последним десяти новосям и ищёт в таблице картинок информацию об этих картинках. Это тоже всё прекрасно понятно.
Непонятно одно: а новости-то сами где в этом запросе?
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640865
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir, я не вижу в запросе автора заголовка новости, текста новости, даты создания новости. А в запрсое miksofta это всё есть
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640867
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.FontaineMr.Fontaine, другое дело, что запрос miksofta выведет не 10 строк а значительно больше (судя по картинке, в news_img для одной картинки может быть заполнено несколько строк), но эту проблему можно решить уже непосредственно в phpНа тот момент такой картинки еще не было, я полагал, что идентификатор картинки уникален.

Но теперь стало непонятным назначение поля `news`.`imgid`. Можно же картинки привязывать прямо к id новости.

Решить дублирование записей можно и в запросе. Главное понять, в каком виде должен быть результат.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640868
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

ошибка скорее всего в запросе, потому что при более простом запросе, ошибка не появляется
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640880
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНа тот момент такой картинки еще не было, я полагал, что идентификатор картинки уникален.

Но теперь стало непонятным назначение поля `news`.`imgid`. Можно же картинки привязывать прямо к id новости.

Решить дублирование записей можно и в запросе. Главное понять, в каком виде должен быть результат.
Полностю согласен, и как раз говорю, что Ваш запрос более приемлем, чем запрос автора. Естественно мы тут гадаем что вообще должно появиться. Особо популярный сегодня хрустальный шар подсказывает, что картинка привязана к новости в таблице news (не зря же там есть поле imgid), а в таблице news_img записаны в несколько строчек параметры картинки (может быть ширина, высота, описание картинки, которое надо вывести на страничку.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640887
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Я специально не стал привязывать АйДи новости (уникальный) к АйДи картинки. Это ведь не имеет значения сейчас (оптимизацию я сделаю позже).

Картинки у меня будут разные для одной новости. Для одной новости их может быть как одна, так и 20.

Сейчас задача состоит в том чтобы извлечь все изображения из 2 таблицы АйДи которых совпадает с АйДи в 1 таблице
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640893
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только сейчас осознал, что это запрос Алисейдля выбора нужных изображений тут новостей и быть-то не должно. То есть работа строится через два запроса. Но тогда он вообще не понятен.
При использовании двух запросов по-моему единственный путь выбрать новости и в цикле по id картинки выбирать все параметры, нахрена там опять выбираются картинки для всех новостей да ещё и без distincta непонятно однако...
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640894
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алисей,

Вернее наоборот...извлечь изображения из таблицы ИЗО которые должны быть для последних 10 новостей по идентификатору
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640900
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алисей,

Все еще остается непонятным, чем именно не угодил мой запрос?
Ваши фразы "не получается" и "выдает ошибку" никакой ясности не вносят.
Показывайте фактические результаты и сообщение об ошибке.
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640911
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

по Вашему запросу у меня новость повторяется столько количество раз, сколько картинок во второй таблице. Сейчас попробую ещё раз изменить код PHP для вывода новости...
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640916
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алисей, так же непонятно почему нельзя написать
Код: sql
1.
$result_set_img = $MySQLi->query("SELECT * FROM `news_img WHERE imgid=значение imgid из таблицы новостей для текущей новости`;


и также непонятно почему связь полей news.imgid=news_img.imgid не является привязкой новости к картинке(картинкам). А что же это тогда?
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640919
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

как я понимаю, Ваш запрос создаёт новый массив, допустим берём последние 10 новостей и если есть 3 картинки в другой таблице к 1 новости, то выводится 7 новостей и 3 повторяющихся. Дополнительно к этому у меня сбиваются индексы, для отображения новости полностью...буду переписывать код PHP в таком случае
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640921
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr.Fontaine,

всё правильно, это и есть привязка, пусть не по основному индексу, но привязка :-)
...
Рейтинг: 0 / 0
Выборка из таблицы значений по индексу другой таблицы
    #38640926
Алисей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Mr.Fontaine]Алисей, так же непонятно почему нельзя написать
Код: sql
1.
$result_set_img = $MySQLi->query("SELECT * FROM `news_img WHERE imgid=значение imgid из таблицы новостей для текущей новости`;


Можно и так, но тогда я так понимаю этот запрос нужно писать в цикле для каждой выводимой новости...это многочисленные обращения к базе, или я не так думаю?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка из таблицы значений по индексу другой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]