1

我在这样的循环(PHP)中有一个循环:

while(mysql...) {
 echo $row1->name.'<img src="info.png" />';
 while(another_mysql...) {
  echo $row2->name.'<img src="image.png" />';
 }
}

现在这将导致如下结果:

head_1 [info.png]
value_a1 [image.png]
value_a2 [image.png]
value_a3 [image.png]
head_2 [info.png]
value_b1 [image.png]
value_b2 [image.png]

如您所见,图像不在一条直线上,因为值可能不同,从而导致图像被推得更远。

当使用它转换值时,str_pad();它确实有效,但不稳定并且有点错误。我不知道如何将图像放在值所在的 div 旁边的 div 中,因为循环不喜欢它。

我该怎么做才能让它输出如下内容:

head1      [info.png]
value_a1   [image.png]
value_a2   [image.png]
value_a3   [image.png]
head2      [info.png]
value_b1   [image.png]
value_b2   [image.png]
4

2 回答 2

0

使用以下代码使其正确对齐:

echo "<div style='width:310px'>";
while(mysql...) {
 echo '<div style="width:50px;float:left">'.$row1->name.'</div><div style="width:250px;float:right"><img src="info.png" /></div>';
 while(another_mysql...) {
  echo '<div style="width:50px;float:left">'.$row2->name.'</div><div style="width:250px;float:right"><img src="image.png" /></div>';
 }
}
echo "</div>";

在你的 while 循环中使用它。希望这对您有所帮助。

于 2013-04-24T12:49:41.683 回答
0

有很多方法可以做到这一点。一种直接的解决方案是使用表格。就像是:

echo '<table>'
while(mysql...) {
 echo '<tr><td>'.$row1->name.'</td><td><img src="info.png" /></td></tr>';
 while(another_mysql...) {
  echo '<tr><td>'.$row2->name.'</td><td><img src="image.png" /></td></tr>';
 }
}
echo '</table>'

这让浏览器负责确定正确的宽度。其他方式是使用divs。它们可以被赋予固定的宽度——模拟一个表格——或者你可以使用position: absolute; right: 0;(加上更多的 CSS)来对齐包含图像的右 div,这将右对齐所有图像。

于 2013-04-24T12:59:59.047 回答