$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";
}
The code displays three groups of three images. My understanding was that \r\n and \n (double quotes) should create a new line. However it is just inserting a space between the images. Is the way am callign \r\n wrong or is it am using the wrong code to isneert a new line (line break)
Examples (# = one image):
Without echo \r\n: ######### With echo \r\n: ### ### ###
Your echo "\r\n";
is outside the loop. Move it inside the loop.
Also, if you want the line breaks to be visible in the browser, you should print a <br />
too.
$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";
}
Whitespace is not displayed verbatim when it's part of HTML text. \r
and \n
are not universal constants; they are just characters, and it's up to whatever program consumes them to decide what to do with them.
You should use <br>
instead.
You need:
echo '<br />';
instead of:
echo "\r\n";
来源:https://stackoverflow.com/questions/10331855/php-new-line-n-and-r-n-not-working