2015-11-29 2 views
0

Привет, ребята и спасибо заранее. Таким образом, у меня есть цикл, в то время как выглядит следующим образом:Назначение цикла DIV во время цикла

<?php 
    $limit = 4; 
    $countSql = "SELECT COUNT(book_id) FROM books"; 
    $tot_result = mysqli_query($conn, $countSql); 
    $row = mysqli_fetch_row($tot_result); 
    $total_records = $row[0]; 
    $total_pages = ceil($total_records/$limit); 
    if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $limit; 
    $sql = "SELECT * FROM books ORDER BY book_id DESC LIMIT $start_from, $limit"; 
    $rs_result = mysqli_query($conn, $sql); 
    while ($row = mysqli_fetch_assoc($rs_result)) { 
     $book_titlel=$row['book_titlel']; 
     $book_titlel=sanitize($book_titlel); 
     echo "<div class='grid_2 col-md_4'><div class='box_9'><div class='img-wrap'><a href='book/".$book_titlel."/".$row['book_id']."'><img alt='".$row['book_title']."' data-src='images/books/".$row['book_picture'].".jpg' src='images/preloader.gif'></a></div><div class='caption'><div class='rating-bar'><div class='rating' style='width: 50%'></div></div><h3 class='text_5 color_1'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_title']."</a></h3><p class='text_6 color_3'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_author']."</a></p></div></div></div>"; 
    }; 
?> 

Так что я пытаюсь сделать, это назначить для Div каждые 4 результатов; например: Результаты от 1 до 4 должны быть обернуты в <div class='row'></div>, от 5 до 8 в новом <div class='row'></div>, от 9 до 12 и так далее. Является ли это возможным?

+0

Взгляните на это: http://stackoverflow.com/questions/9780012/detect-each-4-using-modulus-php – ScottMcGready

ответ

0

В передней части цикла я положить открыл Див свой обертку, а затем в каждом 4-ом входе в цикле будет закрыть DIV и открыть новый один

<?php 
$limit = 4; 
$countSql = "SELECT COUNT(book_id) FROM books"; 
$tot_result = mysqli_query($conn, $countSql); 
$row = mysqli_fetch_row($tot_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records/$limit); 
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $limit; 
    $sql = "SELECT * FROM books ORDER BY book_id DESC LIMIT $start_from, $limit"; 
    $rs_result = mysqli_query($conn, $sql); 
    $i = 0; 
    echo '<div id="yourwrapper">'; 
    while ($row = mysqli_fetch_assoc($rs_result)) { 
     if($i %4 == 0){echo '</div><div id="yourwrapper">';} 
     $book_titlel=$row['book_titlel']; 
     $book_titlel=sanitize($book_titlel); 
     echo "<div class='grid_2 col-md_4'><div class='box_9'><div class='img-wrap'><a href='book/".$book_titlel."/".$row['book_id']."'><img alt='".$row['book_title']."' data-src='images/books/".$row['book_picture'].".jpg' src='images/preloader.gif'></a></div><div class='caption'><div class='rating-bar'><div class='rating' style='width: 50%'></div></div><h3 class='text_5 color_1'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_title']."</a></h3><p class='text_6 color_3'><a href='book/".$book_titlel."/".$row['book_id']."'>".$row['book_author']."</a></p></div></div></div>"; 
     $i++; 
    }; 
echo '</div>'; 

?> 
+0

Что означает $ open? Я думаю, что это не определено –

+0

Думаю, я удалил его? Это была просто идея, когда я отвечал на ваш код, и я отредактировал его, чтобы удалить его. @TsvetilinBoynovski – Standej

+0

@TsvetilinBoynovski Я снова отредактировал код и поставил $ i ++ ниже в цикле, потому что в оригинале появилась возможность, что первый запуск будет делать только 3 элемента в div, и теперь он должен работать. Имеет ли это? – Standej

0

Вы можете попробовать это:

<?php 

... 

$temp_count = 0; 

echo "<div class='row'>"; 

while($row = mysqli_fetch_assoc($rs_result)){ 

    if($temp_count == 4){ 
     echo "</div><div class='row'>"; 
     $a = 0; 
    } 

    echo {YOUR_DATA}; 
    $temp_count++; 


} 

echo "</div>"; 

?> 
Смежные вопросы