Подскажите пожалуйста, вот у меня идет список блоков с товарами, по 3 блока в строку, я вывожу блок с банером один раз после первых 3-х блоков с товаром, если блоков с товаром больше 3 единиц. как мне сделать чтобы при меньшем разрешении экрана банер выводился один раз после двух блоков с товаром? PHP: $i=0; $tt=0; $number=1; echo '<div class="row product_row_16">'; while($row = sql_a($res)) { $object_type_keep=$object_type; if ($object_type==115){ $t='SELECT * FROM `link_gr-of-prod_with_prod` WHERE ID_PRODUCT='.$row[ID]; $resj11 = sql($t); while($row12 = sql_a($resj11)) { if ($row12[ID_GROUP_OF_PRODUCTS]==115){ }else{ $object_type=$row12[ID_GROUP_OF_PRODUCTS]; } } } if ($filter){ if (product_filter($lang,$filter,$row[ID])){ echo '<div class="product-item_16 w-1-3_16">'; show_shot_product_description_n_16($number, $object_type,$folder_id, $row[ID], 0,$lang,$filterold,$find_); $i++; } } else { echo '<div class="product-item_16 w-1-3_16">'; if($find_==-66){ show_shot_product_description_n_16($number, $object_type,$folder_id, $row[ID], 0,$lang,$filterold,$find_); }else{ show_shot_product_description_n_16($number, $object_type,$folder_id, $row[ID], 0,$lang,$filterold,$find_); } $i++; echo '</div>'; } $object_type=$object_type_keep; if ($i>2){ $i=0; if ($tt==0){ $promo_pr=promo_product($object_type,2); //echo $promo_pr; if ($promo_pr==0){ }else{ echo '<div class="product-item_16 w-1-1_16">'; show_shot_product_description_long_16($number, $object_type,$folder_id, $promo_pr, 0,$lang,$filterold,$find_); echo '</div></div>'; } } $tt=1; } }
спасибо, все сделал с помощью flexbox, применил для родителя display: flex; flex-wrap: wrap; а для дочерних: item_16:first-child {order:0;} item_16:nth-child(2) {order:1;} item_16:nth-child(3) {order:3;} item_16:nth-child(4) {order:2;} flex-wrap: wrap; -забыл первый раз прописать и не получалось)
order указывает, к слову, не абсолютный, а относительный порядок. То есть, если все элементы имеют order:0, то элементы с order:1 будут в самом конце. Это как бы не номер в массиве, а то насколько дальше от начала будет элемент или группа элементов, если у всех одинаковый order. Так, элементы с order:4 будут ближе к концу, а order:2 ближе к середине. В 90% случаев достаточно выставить order всего паре элементов, для которых менеджмент позиции действительно нужен.
а вы можете порекомендовать материал(видео книги) по освоению ООР в РНР где меньше воды и все просто и понятно?