我有这个代码:
<?
$sql = mysql_query("SELECT * FROM VIDEOS ORDER BY ID DESC");
while($rs = mysql_fetch_assoc($sql)){
?>
<img src="<?echo $rs['V_LOGO'];?>" width="150px" height="150px" />
<p><a href="view.php?v=<?echo $rs['ID'];?>"><?echo $rs['V_TITLE'];?></a></p><br />
<p><?echo $rs['V_DESC'];?></p>
<?}?>
我希望将视频展示在一起, 并且新的一行中的每五个视频,我怎么能这样做?
答案 0 :(得分:0)
首先..如果您的数据库内容未经过清理 - 请使用htmlspecialchars以避免注入不需要的javascript / html代码。
你可以像这样循环:
<?
$i=0;
while(..){
if($i%5==0)echo "<p>";
echo "<a href=\"....>";
if($i%5==4)echo "</p>";
$i++;
}
if($i%5!=4)echo "</p>";
答案 1 :(得分:0)
我必须做很多事。
尝试类似这样的事情
<?
$sql = mysql_query("SELECT * FROM VIDEOS ORDER BY ID DESC");
$count = 0;
while($rs = mysql_fetch_assoc($sql)){
?>
<div class="image-wrapper row-<?echo (int)$count/5;?> col-<?echo (int)$count%5;?>">
<img src="<?echo $rs['V_LOGO'];?>" width="150px" height="150px" />
<p><a href="view.php?v=<?echo $rs['ID'];?>"><?echo $rs['V_TITLE'];?></a></p><br />
<p><?echo $rs['V_DESC'];?></p>
</div>
<?
$count++;
}
?>
然后使用css代码:
.image-wrapper {
float: left;
width: 160px;
height: 150px;
}
.image-wrapper .col-0 {
clear: left;
}
答案 2 :(得分:0)
这与您使用CSS设置视频样式有关。为视频创建块内容并将其浮动到左侧,直到达到5个视频,然后转到新行。例如,
<div class='wrapper'>
<?
$sql = mysql_query("SELECT * FROM VIDEOS ORDER BY ID DESC");
while($rs = mysql_fetch_assoc($sql)){
?>
<div class='block'>
<img src="<?echo $rs['V_LOGO'];?>" width="150px" height="150px" />
<p><a href="view.php?v=<?echo $rs['ID'];?>"><?echo $rs['V_TITLE'];?></a></p><br />
<p><?echo $rs['V_DESC'];?></p>
</div>
<?}?>
</div>
例如,您的包装容器宽度为960px,然后您可以像这样设置块内容:
.block {
width: 150px;
height: 150px;
margin-right: 20px;
}
答案 3 :(得分:0)
<?php
$i = 1;
$sql = mysql_query("SELECT * FROM VIDEOS ORDER BY ID DESC");
while($rs = mysql_fetch_assoc($sql))
{
if ($i == 1)
echo '<div>';
echo '<img src="'.$rs['V_LOGO'].'" width="150px" height="150px" />
<p><a href="view.php?v='.$rs['ID'].'">'.$rs['V_TITLE'].'</a></p><br />
<p>'.$rs['V_DESC'].'</p>';
if ($i % 5 == 0)
{
echo '</div>';
$i = 1;
}
$i++;
}
?>
你去吧。我还修复了你糟糕的PHP代码。