Contenido fuera de div PHP PDO

Mi contenido de las subcategorías es salir de la div de alguna manera. El primero se queda allí, pero el segundo, tercero, etc. sale de allí.

Alguna solución para eso?

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 '
'; echo $row['subcat_name']; echo '
'; } echo $row['subsubcat_name']; echo "
"; } ?>

Esto debería ser reescrito como:

 $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 ''; // close .panel-body echo ''; // close .panel-default } else { // for the first time you don't need // to close divs, so here we skip it $close_previous = true; } echo '
'; echo $row['subcat_name']; echo '
'; } echo $row['subsubcat_name']; // add link echo 'Click'; } // explicitly close last divs block echo '
'; // close .panel-body echo '
'; // close .panel-default

También es una buena práctica verificar el código html generado para ver qué está mal.