php - 为什么要插入额外的可用列?

标签 php html mysql html-table

我正在尝试向现有表添加一列并得到奇怪的结果。

我目前有:

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']` 到语句末尾,它仍然插入一个额外的列。我没有尝试将其放在靠近声明前面的位置。

最佳答案

printf() 命令用后续输入替换每个“%s”。因此,第一个 %s 替换为 $row['first_name'],第二个 %s 替换为 $row['last_name'],依此类推。

问题是 $playpaid 需要有与之关联的特殊条件格式,因此作者构建了 <td></td>专门针对该列的标签。因此,您不能只将结果值放在 <td>%s</td> 内。 ,因为这样你最终会得到双 <td><td> ,如上面评论中所述。

原始代码似乎有一个额外的 </td>在里面。请尝试以下操作:

printf("
<tr>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    <td>%s</td>
    %s
    <td>%s</td> \n
</tr>",
$row['first_name'],
$row['last_name'],
$email,
$row['league_id'],
$row['name'],
$iscapt,
$playpaid,
$row['weeks']);

末尾的\n 只是在生成的 HTML 中添加一个回车符。

至于多出一列,那是因为你多了一个空白<td></td>在表格标题行中。

关于php - 为什么要插入额外的可用列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998510/

相关文章:

javascript - 如何使用通用 header 导入和 jquery 脚本在网站中布局代码?

html - 将 ul 列表移到 div 下面

php - #1062 - key '31' 的重复条目 'PRIMARY'

PHP/MySQL : Get one row and the next five rows

php - Tumblr API 从 HTML Canvas 发布照片

php - 重写 URL :s with . htaccess

php - 使用数据库 onchange 中提供的 ajax 值自动计算

php - max函数的未定义索引在php中不起作用

javascript - 使用 Jquery 的 onClick 事件

php - 订购关键字结果相关性