Вывод записей с БД средствами PHP в стиле Masonry

278
25 мая 2018, 18:30

предположим есть вот такая разметка HTML:

<div class="row">
    <div class="col-lg-4">
        <section>ID 1</section>
        <section>ID 4</section>
        <section>ID 7</section>
    </div>
    <div class="col-lg-4">
        <section>ID 2</section>
        <section>ID 5</section>
        <section>ID 8</section>
    </div>
    <div class="col-lg-4">
        <section>ID 3</section>
        <section>ID 6</section>
        <section>ID 9</section>
    </div>
</div>

Выборка с БД идет по ID DESC

можно ли каким то образом вывести записи с такой разметкой и такой выборкой? если есть мысли или готовые решения, прошу поделиться!

Answer 1

Ну раз никто не предложил варианта, то как одно из решений:

$ARRAY = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
//  Если порядок эл-ов нужнен другой (вариант 1)
//$ARRAY = array_reverse($ARRAY);
$RESULT = array();
$ROW = 3;
$i = 0;
foreach ($ARRAY as $value) {
    $RESULT[$i][] = $value;
    $i++;
    if ($i == $ROW) {
        $i = 0;
    }
}
//  Если порядок эл-ов нужнен другой (вариант 2)
//$RESULT = array_map('array_reverse', $RESULT);
for ($i = 0; $i < $ROW; $i++) { 
    echo '<div class="col-lg-4">';
    foreach ($RESULT[$i] as $value) {
        echo '<section>ID ' . $value . '</section>';
    }
    echo '</div>';
}

Результат:

<div class="col-lg-4">
   <section>ID 1</section>
   <section>ID 4</section>
   <section>ID 7</section>
</div>
<div class="col-lg-4">
   <section>ID 2</section>
   <section>ID 5</section>
   <section>ID 8</section>
</div>
<div class="col-lg-4">
   <section>ID 3</section>
   <section>ID 6</section>
   <section>ID 9</section>
</div>
READ ALSO
Как настроить open server для mail()?

Как настроить open server для mail()?

Помогите настроить open server для отправки mail

282
Php Фатальная ошибка.(mb_substr)

Php Фатальная ошибка.(mb_substr)

возникает ошибка при использовании функции mb_substr() Fatal error: Uncaught Error: Call to undefined function subsrt() in C:\xampp\htdocs\mylocalwebloc\index

261
Обновление строк Mysql одним запросом

Обновление строк Mysql одним запросом

Как можно обновить несколько строк одним запросом? Что-то у меня не получается все это заставить работать правильно

271
выбор с базы даннах phpmyadmin

выбор с базы даннах phpmyadmin

Допустим есть два поля, правое и левоеВ правом вид работы - несколько опшинов

296