检查元素的数量是否等于PHP的特定数量

时间:2017-06-27 10:42:38

标签: php html mysql database row

从下图中,您可以看到第二行(红色矩形)中有一个空白区域,右侧应该填满空白区域。发生这种情况是因为第一个图像标题比其他标题更长。

我知道通过使用HTML代码,我可以使用clear: both;并放在第一行下来解决它。但我的信息是从数据库中读取的。以下是我的php和mysql代码,我简化了它,请忽略我用来显示图像的方法。

enter image description here

$selectSQL="SELECT *, DATE_FORMAT(published_date,'%d %M %Y') AS eventDate FROM media";

while($rows=mysql_fetch_array($selectSQL)){
   <div style="float:left">
     <img src="load_image.php?id=<?php echo $rows["id"]; ?>" width="150px" height="212px">
     <div><?php echo $rows["title"]; ?></div>]
     <div><?php echo $rows["eventDate"]; ?></div>
   </div>
}

我有一个解决方案,它比较了element = 5的数量。类似下面的代码。但我不确定如何检查它的元素数量。如果您有其他解决方案,请建议或建议我。谢谢!

if($num_element==5){
    echo '<div class="clear"></div>';
}

2 个答案:

答案 0 :(得分:1)

$ i = 0;
while($rows=mysql_fetch_array($selectSQL)){
   <div style="float:left">
     <img src="load_image.php?id=<?php echo $rows["id"]; ?>" width="150px" height="212px">
     <div><?php echo $rows["title"]; ?></div>]
     <div><?php echo $rows["eventDate"]; ?></div>
   </div>
$i++;
if($i % 5 == 0){
 echo '<div class="clear"></div>';
}
}

您可以尝试使用此代码来检查完全显示的项目数量,在5个元素之后它将打印出明确的div

答案 1 :(得分:1)

当标题很长时,您可以使用substr()来标题。你可以这样试试:

    while($rows=mysql_fetch_array($selectSQL)){
        <div style="float:left">
          <img src="load_image.php?id=<?php echo $rows["id"]; ?>" width="150px" height="212px">
          <div title="<?php echo $rows["title"];?>">
              <?php if(strlen($rows["title"]) > 6){
                         echo substr($rows["title"],0, 6).'...';
                    }else{
                         echo $rows["title"];
                    } ?>
           </div>
          <div><?php echo $rows["eventDate"]; ?></div>
        </div>
    }

使用此代码,您可以自定义标题中单词的长度。