如何在我的echo tr和td中添加if-else语句?我尝试了下面的代码,但我的输出是一个空白页。
<?php
$stmt = $dbh->prepare("$query");
$stmt->execute();
$result = $stmt->fetchAll();
$i="0";
$ext = EXT;
if ($stmt->rowCount() > 0) {
foreach($result as $value) {
$i++;
$id = $value['id'];
$gccode = $value['gccode'];
$datecreated = $value['datecreated'];
$notes= $value['notes'];
$branch = $value['branch'];
$groupid = $value['groupid'];
$status = $value['status'];
echo "<tr class='"gradeA'">
<td>$i</td>
<td>$id</td>
<td>$gccode</td>
<td>$datecreated</td>
<td>$notes</td>
<td>$branch</td>
<td>" if ($value['groupid']=="1"){ echo 'Regular';}
else { echo 'Complimentary'; } "</td>
<td>$status</td>
</tr>";
}
}
您可以更改此行,如下所示:
<td>" . ($value['groupid']=="1" ? 'Regular' : 'Complimentary') . "</td>
您需要正确完成echo
语句:
echo "<tr class='"gradeA'">
<td>$i</td>
<td>$id</td>
<td>$gccode</td>
<td>$datecreated</td>
<td>$notes</td>
<td>$branch</td>
<td>";
if ($value['groupid']=="1"){ echo 'Regular';}
else { echo 'Complimentary'; }
echo "</td>
<td>$status</td>
</tr>";
同样,您可以使用三元运算符,而不是编写if-else语句。
因此,您的最终优化代码应该是:
echo "<tr class='"gradeA'">
<td>$i</td>
<td>$id</td>
<td>$gccode</td>
<td>$datecreated</td>
<td>$notes</td>
<td>$branch</td>
<td>" . ($value['groupid']=="1") ? 'Regular' : 'Complimentary'. "</td><td>$status</td>
</tr>";
您需要通过分号(;
)中断echo语句
更正代码:
echo "<tr class='"gradeA'">
<td>$i</td>
<td>$id</td>
<td>$gccode</td>
<td>$datecreated</td>
<td>$notes</td>
<td>$branch</td>
<td>";
if ($value['groupid']=="1"){
echo 'Regular';
}
else {
echo 'Complimentary';
}
echo "</td><td>$status</td></tr>";
有多种方法可以做到这一点。
其中之一是构建HTML并将其存储在变量中,然后使用成熟的if else
添加到变量中,例如
$myStr = '<tr class="gradeA">';
$myStr += '<td>' . $i . '</td>';
// snipped
if ($value['groupid'] == '1')
$myStr += '<td>Regular</td>';
else
$myStr += '<td>Complimentary</td>';
// do more string stuff
// return the built variable instead.
return $myStr;
但是您也可以使用三元(简写if)语句。使用相同的示例:
$myStr = '<tr class="gradeA">';
$myStr += '<td>' . $i . '</td>';
// snipped
$myStr += '<td>' . ($value['groupid'] == '1' ? 'Regular' : 'Complimentary') . '</td>';
// do more string stuff
// return the built variable instead.
return $myStr;
与直接echo
处理内容相比,这种方法的主要优点是,您现在还可以在不同的地方以不同的方式操作变量本身,从而获得更大的灵活性和更干净的代码(尽管并不总是正确的)。
由于php错误,您的页面为空白。您需要在每个php语句后使用分号。将您的代码替换为以下代码。
回波"
<td>$i</td>
<td>$id</td>
<td>$gccode</td>
<td>$datecreated</td>
<td>$notes</td>
<td>$branch</td>
<td>";
if ($value['groupid']=="1")
{
echo 'Regular';
}
else
{
echo 'Complimentary';
}
echo "</td>
<td>$status</td>
</tr>";
由于php错误,您的页面为空白。您需要在每个php语句后使用分号。