2016-06-13 43 views
2

我正在实现一个标签系统,并且我希望显示在分成两列的页面内共享相同标签的结果,按postType(文章或视频),像这样:CSS PHP MYSQL Dispaly标签结果按照postType排序的2列

ARTICLES   VIDEOS 
article 1   video 1 
article 2   video 2 
article 3   video 3 
        video 4 

但是,这是我所得到的:

ARTICLES   VIDEOS 
        video 1 
        video 2 
        video 3 
article 1   video 4 
article 2 
article 3 

我的查询:

<?php 
$stmt = $db->prepare('SELECT p.* 
         FROM tags t 
         INNER JOIN post_tags pt 
          ON t.tagID = pt.tagID 
         INNER JOIN posts p 
          ON pt.postID = p.postID 
         WHERE t.tagName = :tagName 
         ORDER BY postType ASC'); 
$stmt->execute(array(':tagName' => $row['tagName'])); 

while($row = $stmt->fetch()) { 
    echo '<div class=column1">'; 
     if($row['postType']=='article' { 
      .... 
     } 
    echo '</div>'; 
    echo '<div class=column2">'; 
     if($row['postType']=='video' { 
      .... 
     } 
    echo '</div>'; 
} 
?> 

该CSS:

.column1 { 
    float: left; 
    margin: 5px; 
    padding: 5px; 
    width: 80%; 
} 
.column2 { 
    float: right; 
    margin: 5px; 
    padding: 5px; 
    width: 20%; 
} 

我坚持这一点,任何帮助将不胜感激。

+0

由于这是CSS和html,你可以制作一个http://www.jsfiddle.net – ASR

+0

请检查我的答案它的帮助 –

回答

0
$strArticle = ''; 
$strVideo = ''; 
while($row = $stmt->fetch()) 
{ 
    if($row['postType']=='article') 
    { 
     $strArticle .= '<div class="row">Your variable</div>'; 


    } 
    if($row['postType']=='video') 
    { 
     $strArticle .= '<div class="row">Your variable</div>'; 
    } 
} 
<div class="col-md-6"> 
    <h4>Article</h4> 
    <?php echo $strArticle;?> 
</div> 
<div class="col-md-6"> 
    <h4>Video</h4> 
    <?php echo $strVideo;?> 
</div> 

你好,请把while循环的这种类似的代码,如果你遵循引导结构,你可以做到这一点很容易地添加CSS到类COL-MD-6宽度50%和班级排的宽度为100%。

在简单的第一列中创建两列,并在每列中明智地输入。

+0

这完美的作品,欢呼声! – nacho

+0

@nacho欢迎通过以下bootstrap,你可以轻松地做到这一点。 –