如果我内心的回声里面还有

时间:2016-01-08 10:38:31

标签: php if-statement html-table

如何在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>";
    }
}

6 个答案:

答案 0 :(得分:3)

您可以像下面这样更改此行:

<td>" . ($value['groupid']=="1" ? 'Regular' :  'Complimentary') . "</td>

答案 1 :(得分:2)

您需要正确完成IF NOT EXISTS (SELECT 1 FROM Timetable WHERE WeekDayId = 1 AND DepartmentId = 8 and ClassTiming = 1 ) BEGIN INSERT INTO Timetable (StaffID, ClassTimingId,WeekDayId,DepartmentId,ClassID,SectionID) VALUES ('E-465458',1,1,8,10,11) END 语句:

echo

您可以使用三元运算符,而不是编写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>";
  if ($value['groupid']=="1"){ echo  'Regular';}
  else { echo  'Complimentary'; } 
  echo "</td>
      <td>$status</td>
  </tr>";

答案 2 :(得分:1)

您需要通过分号(;

来中断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>";

答案 3 :(得分:1)

有多种方法可以做到这一点。

其中一个是构建 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内容的主要优点是你现在也可以以不同的方式在不同的地方操纵变量本身 - 允许更多的灵活性和更干净的代码(不是永远都是真的。)

答案 4 :(得分:1)

由于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>";

答案 5 :(得分:1)

由于php错误,您的页面为空白。你需要在每个php语句后使用分号。