Я согласен со всеми приведенными выше ответами. Проблема в том, что вы генерируете новую строку для каждого нового элемента в oop, поэтому вы получаете все в новой строке.
У меня есть другое решение. Если ваши элементы будут адаптироваться к количеству элементов базы данных, которое может быть большим, вы можете использовать flex в качестве лекарства. Использование столбцов - хороший способ. Flex - альтернативный подход, и Bootstrap 4 имеет fantasti c классы гибкости , например d-flex
, flex-row
, et c. и от flex-wrap
до оберните ваши строки!
Прочтите об этом здесь: https://getbootstrap.com/docs/4.4/utilities/flex/