$rows = mysql_num_rows($result) ;
for ($j=0 ; $j < 3 ; $j++) {
for ($i=0 ; $i < 3 ; $i++) {
$row = mysql_fetch_array($result) ;
echo '<a href="image2.php?id='.$row['ID'].'">'."<img src='".$row['Image']."' />".'</a>' ;
}
echo "\r\n";
}
代码显示三组三个图像。我的理解是\ r \ n和\ n(双引号)应该创建一个新行。然而,它只是在图像之间插入一个空格。是callign \ r \ n错误的方式,还是使用错误的代码来获取新行(换行符)
示例(#=一张图片):
没有echo \ r \ n:######### 使用echo \ r \ n:### ### ###
答案 0 :(得分:10)
空格is not displayed verbatim当它是HTML文本的一部分时。 \r
和\n
不是通用常量;它们只是字符,它取决于任何程序消耗它们来决定如何处理它们。
您应该使用<br>
代替。
答案 1 :(得分:8)
您的echo "\r\n";
不在循环中。将它移到循环内。
此外,如果您希望在浏览器中显示换行符,则还应打印<br />
。
$rows = mysql_num_rows($result) ;
for ($j=0 ; $j < 3 ; $j++) {
for ($i=0 ; $i < 3 ; $i++) {
$row = mysql_fetch_array($result) ;
echo '<a href="image2.php?id='.$row['ID'].'">'."<img src='".$row['Image']."' />".'</a>' ;
}
echo "<br />\n";
}
答案 2 :(得分:3)
你需要:
echo '<br />';
而不是:
echo "\r\n";
答案 3 :(得分:0)
你也可以考虑设置一个合适的header 示例:
$data = [
[1,2,3],
[4,5,6],
[7,8,9]
];
header("Content-Type: text/plain");
foreach($data as $row){
echo implode(',', $row) . "\r\n";
}