2017-01-07 3 views
2

Мое содержание подкатегорий как-то выходит из div. Первый остается там, но второй, третий и т. Д. Выходит из него.Содержимое из div PHP PDO

Любые решения?

<?php 
... 
$stmt = $dbh->query('SELECT parent.subcat_id, parent.subcat_name, child.subsubcat_name, child.subcat_id, child.cat_id FROM subcategories parent JOIN subsubcategories child ON child.cat_id = parent.cat_id'); 
$lastcat = 0; 
$stmt->execute(); 
$row2 = $stmt->fetchAll(PDO::FETCH_ASSOC); 

foreach ($row2 as $row) { 
    if($lastcat != $row['cat_id']){ 
     $lastcat = $row['cat_id']; 
     echo '<div class="panel panel-default"> 
       <div class="panel-heading">'; 
     echo $row['subcat_name']; 
     echo '</div><div class="panel-body">'; 
    } 
    echo $row['subsubcat_name']; 
    echo "</div></div>"; 
} 

?> 

ответ

4

Это должно быть переписано как:

$close_previous = false; // special flag 
foreach ($row2 as $row) { 
    if ($lastcat != $row['cat_id']) { 
     $lastcat = $row['cat_id']; 

     // check whether you need to close divs from previous block 
     if ($close_previous) { 
      echo '</div>'; // close .panel-body 
      echo '</div>'; // close .panel-default 
     } else { 
      // for the first time you don't need 
      // to close divs, so here we skip it 
      $close_previous = true; 
     } 

     echo '<div class="panel panel-default"><div class="panel-heading">'; 
     echo $row['subcat_name']; 
     echo '</div><div class="panel-body">'; 
    } 
    echo $row['subsubcat_name']; 
    // add link 
    echo '<a href="/test.php?id=' . $row['subcategoryid'] . '">Click</a>'; 
} 

// explicitly close last divs block 
echo '</div>'; // close .panel-body 
echo '</div>'; // close .panel-default 

Кроме того, это хорошая практика, чтобы проверить сгенерированный HTML-разметку, чтобы увидеть, что это неправильно.

+0

Это сделало трюк. Благодаря! – user6632515

+0

@u_mulder, Ницца! Мне потребовалось некоторое время, чтобы выяснить, что пытается сделать OP. :-) –

+0

Как сделать ссылку, которая указывает на test.php? Id = $ row ['subcategoryid'] в этом коде? Есть идеи? – user6632515

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