最近在跟着 php和mysql web开发 这本书学习,在运行以下php语句的循环时出现502错误。
想循环输出一个表格:
<!DOCTYPE html>
<html>
<head>
<title>Bob's Auto Parts - Freight Costs</title>
</head>
<body>
<table style="border: 0px; padding: 3px">
<tr>
<td style="background: #cccccc; text-align: center;">Distance</td>
<td style="background: #cccccc; text-align: center;">Cost</td>
</tr>
<?php
$distance = 50;
while ($distance <= 250) {
echo "<tr>
<td style=\"text-align: right;\">".$distance."</td>
<td style=\"text-align: right;\">".($distance / 10)."</td>
</tr>\n";
$distance += 50;
}
?>
</table>
</body>
</html>
但是光这种简单的循环还是能成功显示(输出1~5):
<?php
$num = 1;
while ($num <= 5){
`echo $num."<br />";
$num ++;
}
?>
望大佬解决,谢谢
问题的原因是出现死循环了,导致502错误的;
<html>
<body>
<table border="0" cellpadding="3">
<tr>
<td bgcolor="#CCCCCC" aign="center">Distance</td>
<td bgcolor="#CCCCCC" align="center">Cost</td>
</tr>
<?php
$distance=50;
while ($distance<=250){
echo "<tr>
<td bgcolor=\"yellow\">".$distance."</td>
<td align=\"right\">".($distance / 10)."</td>
</tr>\n";
$distance+=50;
}
?>
</table>
</body>
</html>
问题原因应该是出现在 $distance+=50; 这里,这里你换一下改变值的方式应该就没什么问题了
你输出的td标签的style写得不对,不能用斜杠,会被转义
<!DOCTYPE html>
<html>
<head>
<title>Bob's Auto Parts - Freight Costs</title>
</head>
<body>
<table style="border: 0px; padding: 3px">
<tr>
<td style="background: #cccccc; text-align: center;">Distance</td>
<td style="background: #cccccc; text-align: center;">Cost</td>
</tr>
<?php
$distance = 50;
while ($distance <= 250) {
echo "<tr>
<td style='text-align: right;'>".$distance."</td>
<td style='text-align: right;'>".($distance / 10)."</td>
</tr>\n";
$distance += 50;
}
?>
</table>
</body>
</html>
补充结果图:
我把td的style样式改成这样后就正常显示了
<td align='right'>".$distance."</td>
<td align='right'>".($distance / 10)."</td>
但原因的话不是很清楚,是在php内不使用style嘛?
我复制之后可以直接用啊?