стол banners
| id | src | roll |w |...|
-------------------------
| 1 | blue.jpg | 7 |120|...|
| 2 | white.jpg | 5 |250|...|
| 3 | green.jpg | |140|...|
стол brolls
| id | src |...|
-------------------
| 4 | jones.jpg |...|
| 5 | abba.jpg |...|
| 7 | italia.jpg |...|
Мне нужно выбрать all из таблиц both
таблицы имеют разное количество столбцов
не все строки из banners имеют значение roll
banners.roll на самом деле brolls.id
while ($row = $st->fetch()){
$items .=
"<img src = '" . $row['banners.src'] . "'
data-id = " . $row['banners.id'] . "
data-roll = '" . $row['brolls.src'] . "'
data-w = " . $row['banners.w'] . "
alt='img'>\n\n";
}
Итак, конечный результат должен быть:
<img src = 'blue.jpg' data-id=1 data-roll='italia.jpg' data-w=120 alt='img'>
Мне нужны образы all из banners, перечисленные таким образом.
Любая помощь?
Используйте псевдонимы, чтобы различать два столбца src
@Ghost, извините, я отредактировал свой пост, не все строки из banners имеют значение roll, поэтому в этом случае конечный результат дает только два изображения, но мне нужны все изображения с баннеров






Вы не указываете, какой у вас тип базы данных. Я думаю, вы используете mysql. Вы могли бы яснее сказать, что хотите. Я думаю, вы ищете SQL-запросы и PHP-код, чтобы отсортировать результаты так, как вы хотите.
Вот предложение.
SQL должен быть:
$sql_a = 'SELECT id, src, roll, w FROM banners';
$sql_b = 'SELECT id, src FROM brolls';
Вы должны получить их все в двух разных запросах и сформировать два разных массива, по одному для каждого: $ array_banners и $ array_brolls; со следующей структурой:
$ array_banners ['значение идентификатора'] = массив ('src' => 'значение src', 'roll' => 'значение поворота', 'w' => 'значение w')
$ array_brolls ['значение идентификатора'] = 'значение SRC';
Затем вы выполните кодирование изображения в формате html:
foreach( $array_banners as $k => $v)
{
"<img src = '" . $v['src'] . "'
data-id = " . $k . "
data-roll = '" . $array_brolls[$v['roll']]['src'] . "'
data-w = " . $v['w'] . "
alt='img'>\n\n"
};
И готово.
относительно вашей начальной заметки - см. теги постов, пожалуйста
@puerto Я заметил, что вы обновили вопрос. В случае баннеров, у которых нет рулона, будет невозможно связать их с помощью баннера, потому что он не указан. В моем решении поле «data-roll» в этих случаях будет автоматически оставлено пустым, поэтому, если это то, что вы хотите, это должно сработать. Вы также можете просто назначить случайный.
просто создайте оператор
JOIN, используяbrollsиbanners