我已经使用 PHP 从 MYSQL 数据库构建了一个表。有 4 列检查它们是否包含yes
在其中,只有在存在时才显示。唯一的问题是,当第一列repair
没有任何内容,但后续列有yes
时,它们会将输出显示yes
到repair
列中,而不是在那里留下空白点并将其放在正确的列下。列标题显示正确,它只是让数据出现在正确的列中。不知道如何去做,所以任何帮助表示赞赏。
//build table for results
echo "<table><tr>";
echo "<th>Part Number</th>";
echo "<th>Serial Number</th>";
echo "<th>Date</th>";
//check whether each element has data
//and only display is data present
if ($repair=="yes") echo "<th>Repair</th>";
if ($upgrade=="yes") echo "<th>Upgrade</th>";
if ($pm=="yes") echo "<th>PM</th>";
if ($nofault=="yes") echo "<th>No Fault</th></tr>";
// printing table rows
while($row = mysql_fetch_array($result))
{
$part=$row['part'];
$serial=$row['serial'];
$date=$row['date'];
$Repair=$row['repair'];
$Upgrade=$row['upgrade'];
$PM=$row['pm'];
$NoFault=$row['nofault'];
echo "<tr>";
echo "<td>$part</td>";
echo "<td>$serial</td>";
echo "<td>$date</td>";
if ($Repair=="yes") echo "<td>YES</td>";
if ($Upgrade=="yes") echo "<td>YES</td>";
if ($PM=="yes") echo "<td>YES</td>";
if ($NoFault=="yes") echo "<td>YES</td>";
echo "</tr>";
}
echo "</table>";