Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP新行\n和\r\n不工作 $rows=mysql\u num\u rows($result); 对于($j=0;$j_Php_Line_Newline_Break - Fatal编程技术网

PHP新行\n和\r\n不工作 $rows=mysql\u num\u rows($result); 对于($j=0;$j

PHP新行\n和\r\n不工作 $rows=mysql\u num\u rows($result); 对于($j=0;$j,php,line,newline,break,Php,Line,Newline,Break,代码显示三组三幅图像。我的理解是\r\n和\n(双引号)应该创建一个新行。然而,它只是在图像之间插入一个空格。am调用的方式是否错误\r\n或者是否使用错误的代码插入新行(换行符) 示例(#=一幅图像): 没有回音\r\n:######### 使用echo\r\n:##########作为HTML文本一部分的空白\r和\n不是通用常量;它们只是角色,由任何程序使用它们来决定如何处理它们 您应该改为使用。您需要: $rows = mysql_num_rows($result) ; for

代码显示三组三幅图像。我的理解是\r\n和\n(双引号)应该创建一个新行。然而,它只是在图像之间插入一个空格。am调用的方式是否错误\r\n或者是否使用错误的代码插入新行(换行符)

示例(#=一幅图像):

没有回音\r\n:######### 使用echo\r\n:##########

作为HTML文本一部分的空白
\r
\n
不是通用常量;它们只是角色,由任何程序使用它们来决定如何处理它们

您应该改为使用。

您需要:

  $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”在循环之外。将其移动到循环内

此外,如果希望换行符在浏览器中可见,还应打印一个

echo "\r\n";
$rows=mysql\u num\u rows($result);
对于($j=0;$j<3;$j++){
对于($i=0;$i<3;$i++){
$row=mysql\u fetch\u数组($result);
回声';
}
回显“
\n”; }
如果创建html页面,则应使用

标记,如果是控制台应用程序,则应使用
PHP\u EOL
。它应为

,而不是

,才是有效的xml。由于
br
必须是一个自动关闭标记。此外:检查源代码(
ctrl+u
在大多数浏览器中),换行符可见there@twall:您知道为什么它必须是有效的XML吗?答:实际上没有,除非您使用XML内容类型(noone使用);那些已经修复了标签的人,因为用户代理根本不会显示页面<代码>
是有效的HTML4和HTML5。@Jon。。。既然OP已经关闭了他们的
标签,那么假设他们可能也想关闭他们的

标签才有意义。我倾向于关闭所有东西-我发现记住这样做要比试着记住例外情况更容易。@CD001:我也这样做(当我不太清楚的时候又养成了这个习惯),但我的观点是,它完全没有提供任何帮助,所以我们可以帮自己一个忙,并对每个这样的标签进行再培训,少键入两个字符。我不知道你是否看错了我的问题,但是现在的帖子是正确的。感谢您的帮助刚刚修复了代码并将
echo
移回原来的位置。答案是正确的,但对其他人进行一些澄清会很好。
echo "\r\n";
  $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";    
  }