【问题标题】:If statement to use <a href one> else use <a href two>if 语句使用 <a href one> else 使用 <a href two>
【发布时间】:2014-03-11 04:19:47
【问题描述】:

我想要做的是任何 $id 小于 50 的表单都使用某个 A href,否则使用另一个 A HREF。这是我到目前为止所拥有的,但我不知道如何包含它,因为它在 HREF 中有 php。我怎样才能使这项工作。提前致谢。

</td>        
<td>    
<?php if($id <= 50) { 
    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&***template***=true"><?=$row[software]?></a> 
}
else  { 
    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&***modify***=true"><?=$row[software]?></a> 
} 
?>
</td>

【问题讨论】:

  • 由于某种原因没有阅读或不喜欢代码,我测试了所有示例,即使 $id 大于 50,它也会链接到第一个 href,我什至将 = 并且它只链接到第二个 href,即使更少或更大。我认为还有其他东西可以做到这一点。但非常感谢您的快速响应。

标签: php html href


【解决方案1】:
<td>    
<?php if($id <= 50): ?>
    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&***template***=true"><?=$row[software]?></a> 
<?php else: ?> 
    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&***modify***=true"><?=$row[software]?></a> 
<?php endif; ?>
</td>

【讨论】:

    【解决方案2】:

    更简洁的方法是在 更改(修改/模板位)的锚标记部分使用 if 语句:

    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&<?=$id <= 50 ? 'template' : 'modify'?>=true"><?=$row[software]?></a>
    

    您可以将它放在由 PHP 解析的页面中的任何位置(无论您的 HTML 中是否有内联 PHP。

    像这样退出 PHP(很简单——在你的情况下,你不需要真正编辑,你只需在你的 &lt;td&gt; 标签中包装上面的例子):

    ?>
    <a href="<?=$row[form_type]?>.php?id=<?=$row[id]?>&form=<?=$row[form_type]?>&<?=$id <= 50 ? 'template' : 'modify'?>=true"><?=$row[software]?></a>
    <?php
    

    ... 或:

    $action = $id <= 50 ? 'template' : 'modify';
    echo '<a href="' . $row['form_type'] . '.php?id=' . $row['id'] . '&form=' . $row['form_tyoe'] . '&' . $action . '=true">' . $row['software'] . '</a>';
    

    【讨论】:

      【解决方案3】:
      <?php
      if($id <= 50) {
          echo '<a href="' . $row['form_type'] . '.php?id=' . $row['id'] . '&form='. $row['form_type']. '&***template***=true">' . $row['software'] . '</a>';
      } else {
       echo '<a href="'. $row['form_type'] . '.php?id='. $row['id'] . '&form='. $row['form_type'] . '&***modify***=true">'. $row['software'] . '</a>';
      } 
      ?>
      

      【讨论】:

        【解决方案4】:

        printf() 是你的朋友。

        <td>
        <?php
        $frame = "<a href="%s.php?id=%s&form=%s&%s=true">%s</a>";
        if($id <= 50) {
          printf($frame, $row[form_type], $row[id], $row[form_type], '***template***', $row[software]);
        } else  { 
          printf($frame, $row[form_type], $row[id], $row[form_type], '***modify***', $row[software]);
        } 
        ?>
        </td>
        

        【讨论】:

          【解决方案5】:
          </td>
          <td>    
          <?php 
              if($id <= 50) { 
                  echo '<a href="'.$row[form_type].'.php?id='.$row[id].'&form='.$row[form_type].'&***template***=true">'.$row[software].'</a>';
              } else  { 
                  echo '<a href="'.$row[form_type].'.php?id='.$row[id].'&form='.$row[form_type].'&***modify***=true">'.$row[software].'</a>';
              } 
          ?>
          

          【讨论】:

            【解决方案6】:

            首先,不要使用短标签&lt;?=?&gt;,这被认为是不好的做法。

            其次,你可以使用这个:

            </td>        
            <td>    
              <?php if($id <= 50) { ?> 
                    <a href="<?php echo $row[form_type]?>.php?id=<?php echo $row[id]?>&form=<?php echo $row[form_type]?>&***template***=true"><?php echo $row[software]?></a> 
                   <?php } else  { ?>
                    <a href="<?php echo $row[form_type]?>.php?id=<?php echo $row[id]?>&form=<?php echo $row[form_type]?>&***modify***=true"><?php echo $row[software]?></a> 
              <?php } ?>
            </td>
            

            【讨论】:

            • 在 PHP >= 5.4 中默认启用短标签,所以我认为这根本不是坏习惯。 stackoverflow.com/questions/200640/…
            • 尽管如此,如果您决定将程序移至 PHP programmers.stackexchange.com/a/151694
            猜你喜欢
            • 2011-02-25
            • 2013-05-25
            • 1970-01-01
            • 2011-12-06
            • 1970-01-01
            • 2012-12-17
            • 1970-01-01
            • 2010-12-03
            • 2017-03-23
            相关资源
            最近更新 更多