Как я могу дать два разных herf тегу лодыжки, основанный на if-else - PullRequest
0 голосов
/ 02 октября 2019

В моем HTML-коде <td> содержится <a>. Я хочу дать href этому тегу привязки на основе определения if-else. например: <td>, если var=1, то <a herf="1"></a>, иначе <a herf="2"></a> </td>. Любые идеи, как я могу это сделать, пожалуйста?

Ответы [ 4 ]

2 голосов
/ 02 октября 2019

Если вы хотите сделать это с помощью PHP.

<td>
  <?php if($var == 1) { ?>
     <a href="url1"></a>
  <?php }else if($var == 2){ ?>
     <a href="url2"></a>
  <?php } else { ?>
     <a href="url3"></a>
  <?php } ?>
</td>
0 голосов
/ 02 октября 2019

Есть несколько способов сделать это, так что это всего лишь пара дополнительных предложений.

Во всех случаях $var необходимо проверить (проверить) значение, которое находится в ожидаемом допустимом диапазоне.

Это процедурный. Метод 1 из п.

<?php
// Procedural method
// =================
// Determine the link to use dependant upon value of $var
// for testing set $var here
$var = 1;
// $url amd $link_name is always being set to something
switch ($var){
    case 1:
        $url = 'link1';
        $link_name = 'link1';
        break;
    case 2:
        $url = 'link2';
        $link_name = 'link2';
        break;
    // Can add in as many links as you like.
    default:
        $url = '#';
        $link_name = 'Invalid Link';
}
?>
<!-- Create the link -->
<td>
    <a href="<?= $url; ?>"><?= $link_name; ?></a>
</td>

Это процедурный. Метод 2 из n.

<?php
$var = 1; // Used for debugging
// If $var is an integer it can be used to index into an array

    $url_array = array(
        array('url' => 'link1','link_name' => 'link1'),
        array('url' => 'link2','link_name' => 'link2'),
        array('url' => 'link3','link_name' => 'link3')
    );

    // Need to check $var is in between 1 and the maximum link count
    $url_entry = $url_array[$var - 1]; // offset by 1 as arrays begin at index = 0
?>
<!-- Create the link -->
<td>
    <a href="<?= $url_entry['url']; ?>"><?= $url_entry['link_name']; ?></a>
</td>

Идея состоит в том, чтобы определить значения ссылок, которые будут использоваться вне HTML (бизнес-логика), а затем создать HTML (представление) с необходимыми значениями.

Вы можете пойти еще дальше, но, надеюсь, это даст вам возможность подумать. Веселитесь.

0 голосов
/ 02 октября 2019

Вы также можете сделать это следующим образом, если у вас есть только несколько условий:

<a href="<?php echo ($var == 1)? 'link1': 'link2'?>">This is the link by conditions</a>
0 голосов
/ 02 октября 2019

Это слишком легко, чем вы думаете, в php вы можете сделать это следующим образом -

<?php 
    $var=1;
?>  
<td>
    <a href="<?php if($var==1) echo "link1"; else echo "link2"; ?>" >Your Link Name</a>
</td>

Есть еще способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...