我想添加一列到现有的表格,并得到扭曲的结果。为什么会出现和额外的列插入?
我目前有:
print "<table border=1>";
print "<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Email?</td>
<td>League</td>
<td>Team</td>
<td>Captain</td>
<td></td>
<td>paid</td>
<td>wks played</td>
</tr>";
while ($row=mysql_fetch_assoc($results)){
if($row['email_address'] != NULL){
$email='y';
}
else {
$email='n';
}
if($row[captain_id]==$row[player_num]){ $iscapt="Captain"; }
else{$iscapt="";}
$paid=$row[paid];
if($paid){$playpaid="<td bgcolor=#99ff33>paid</td>";}
else {$playpaid="<td bgcolor=#ff6633>not paid</td>";}
printf ("<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>",
$row['first_name'],
$row['last_name'],
$email,
$row['league_id'],
$row['name'],
$iscapt,
$playpaid,
$row['weeks']
);
}
print "</table>";
对于什么都原因,当我没有队长的<td></td>
并支付实际产生另一列。
原始代码是:
printf("
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</td>
<td>%s</td>
%s \n
</tr>",
$row['first_name'],
$row['last_name'],
$email,
$row['league_id'],
$row['name'],
$iscapt,
$playpaid);
尝试,因为我可能,我无法破译如何独立</td>
和独立%s \n
正在努力摆脱“额外”列。
是的,我知道这都应该用CSS和这样做,但我只是修改代码,很到位。我还没有达到能够重写整个页面的水平。 (几乎准备好虽然)
所以有人可以解释为什么我需要插入一个额外的列,以及<\td>
和%s \n
是如何与旧代码工作?顺便说一句,如果我只是简单地将一个<td>%s</td> and add
$ row ['weeks']`添加到语句的末尾,它仍会插入一个额外的列。我没有试图将它放在声明的前面。
好吧把'...'在另一个'......'里显然会产生无效的HTML。整个脚本都是以最可想象的最糟糕的方式编写的。你应该做的就是使用另一个占位符将_class name_动态插入到“paid”td中,而不是为了格式化而使用过时的HTML属性。 – CBroe
好了,你在某些时候输出包含
@CBroe,它不是过时的HTML。当然,这是一个旧标准(有效的HTML 4),但这并不会使它错误。只是不是非常漂亮,而且功能比HTML5 + CSS3更强大 – Tularis