簡體   English   中英

如果在我的回聲里面<tr><td>

[英]If else inside my echo inside <tr><td>

如何在回顯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語句。

因此,最終的優化代碼應為:

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語句后使用分號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM