if else声明里面的回声TD

时间:2014-08-28 02:05:10

标签: php html

嗨,大家好,(不能决定是早上,下午还是晚上):P

我想就问题提出一些建议或帮助。我有一个代码,显示一些数字,包括短信号码(SIM卡号码)和笼号。此代码位于回显的TD内,如下所示

原始代码

          <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
                          <tr>
                            <td width = '100px' align = 'right'>Cage No:</td>
                            <td> ".$row2['gps_num']."</td>

                            <td width = '100px' align = 'right'>Sim Card No.:</td>
                            <td> ".$row3['SIM1']."</td>

                            <td width = '100px' align = 'right'>Animal Type:</td>
                            <td> ".$devtype."</td>

                            <td width = '100px' align = 'right' colspan='2'>".$label."</td>

                          </tr>
            </table>

现在我想放置一个if elseif语句,如果$ row2 ['gps_num']有11个字符,那么它将显示SIm卡号而不是笼号。 (只关注第一个TD)如果$ row2 ['gps_num']超过11个字符,那么第一个TD将显示Cage No.。

这是我到目前为止所得到的,但无法正确判断出错的地方

                            <tr>
                        <td>
                          <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
                          <tr>
                            if (.$row2['gps_num']. <= 11) {
                              <td width = '100px' align = 'right'>Cage No.</td>
                              <td> ".$row2['gps_num']."</td>
                            }
                            elseif (.$row2['gps_num']. > 11 ) {
                               <td width = '100px' align = 'right'>Sim Card No.:</td>
                            <td> ".$row3['SIM1']."</td>
                            }

                            <td width = '100px' align = 'right'>Animal Type:</td>
                            <td> ".$devtype."</td>

                            <td width = '100px' align = 'right' colspan='2'>".$label."</td>

                          </tr>

我感谢所有的帮助。感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用连接和条件(也称为三元)表达式:

echo "<tr>
    <td>
      <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
      <tr>" . (strlen($row['gps_num']) <= 11 ?
               "<td width = '100px' align = 'right'>Cage No.</td>
                <td> ".$row2['gps_num']."</td>" :
               "<td width = '100px' align = 'right'>Sim Card No.:</td>
                <td> ".$row3['SIM1']."</td>" ) .
    "<td width = '100px' align = 'right'>Animal Type:</td>
        <td> ".$devtype."</td>

        <td width = '100px' align = 'right' colspan='2'>".$label."</td>

      </tr>";

但是,我不推荐这样的长条件表达式,因为它们使代码难以阅读。我真正要做的是在echo之前设置一个变量:

if (strlen($row['gps_num']) <= 11) {
    $cols = "<td width = '100px' align = 'right'>Cage No.</td>
                <td> ".$row2['gps_num']."</td>";
} else {
    $cols = ""<td width = '100px' align = 'right'>Sim Card No.:</td>
                <td> ".$row3['SIM1']."</td>";
}

然后在$cols内使用echo

答案 1 :(得分:0)

您似乎在连接字符串,并且无法在字符串中连接if语句。

您可以使用三元语句,但在这种情况下,可能更容易终止echo或字符串构建操作,并使用单独的if - else语句来{{1} }或添加条件部分。