数据库+代码:
number | Photo_id | Photo|
1 1 img.jpg
1 2 img2.jpg
2 1 photo.jpg
等
while(list($nummer, $foto_id, $foto) = mysql_fetch_row($result))
{
echo "<image class=\"foto\" src=\"images/foto/$foto\">";
}
问题:
我从数据库中取出照片并将其放入变量$ photo中。当我将img.foto定位在css中时,它显然会移动我从db中获取的所有图像。如果我回复$ photo,我怎么还能用css单独定位每张照片?
答案 0 :(得分:1)
您可以为其指定唯一的id
属性。您需要确保$nummber
是每张照片的唯一值:
while(list($nummer, $foto_id, $foto) = mysql_fetch_row($result))
{
echo "<img class=\"foto\" id=\"photo-{$nummer}\" src=\"images/foto/{$foto}\">";
}
然后在CSS中:
#photo-1 { position: ...; },
#photo-2 { position: ...; },
#photo-(n) { position: ...; }
...
答案 1 :(得分:0)
标记为<img>
而不是<image>
。您可以在CSS 3中选择nth-child。对于没有CSS 3的解决方案,您可以执行以下操作:
for($i = 1; list($nummer, $foto_id, $foto) = mysql_fetch_row($result); $i++)
{
echo "<img class=\"foto f" . $i . "\" src=\"images/foto/$foto\">";
}
在你的CSS中:img.foto.f1,img.foto.f2等。
答案 2 :(得分:0)
您可以使用您的号码加载另一个css类,在您的课程后面添加您的号码。我修改了你的代码,使其更具可读性。
while($res = mysql_fetch_assoc($result)) {
echo '<image class="foto-{$res['number']}" src="images/foto/{$res['foto']}">';
}
编辑:如果该号码不是唯一的。然后你必须使用迭代器。
$i = 1;
while($res = mysql_fetch_assoc($result)) {
echo '<image class="foto-{$i}" src="images/foto/{$res['foto']}">';
$i++;
}
你也可以用它来做。
答案 3 :(得分:0)
您可以为每个标记使用style属性。使用PHP函数getimagesize http://php.net/manual/en/function.getimagesize.php,您可以找到每个图像的宽度/高度并构建所需的css值。您还可以使用HTML表或其他位置元素来获取输出。