【问题标题】:How do i change text inside a button with if-else statement?如何使用 if-else 语句更改按钮内的文本?
【发布时间】:2016-02-11 22:49:57
【问题描述】:

我在一个用 php 编写的动态网页上,并希望有一个 if else 语句来查看 mysql 数据库表并检查字符串“description”是否存在于某个数据库表列中。如果出现“描述”一词,则在按钮内回显“访问折扣地点”文本,否则在按钮内回显“访问地点网站”字符串。

我目前有下面的代码,它在一个 php 文件中。

<?php if(stripos( $forum_data['venue_url_text'],"discount") == false) ?>
<a href="<?php echo $forum_data['venue']['venue_url']; ?>" class="btn" target="_blank" rel="nofollow"> VISIT VENUE WEBSITE</a>
<?php elseif: ?>
<a href="<?php echo $forum_data['venue']['venue_url']; ?>" class="btn" target="_blank" rel="nofollow"> VISIT DISCOUNTED VENUE</a>
<?php endif: ?>

【问题讨论】:

  • 请注意== false 可能会产生误报,如果发生在0 上,你就完蛋了
  • @ghost 是的,请详细说明,从我尝试过的情况来看。 if 语句只执行一次,然后将其结果应用于每个页面。我希望 if 语句将其条件应用于每个页面,因为它们都会产生不同的答案。

标签: php html mysql if-statement web


【解决方案1】:
<?php 
  if(stripos( $forum_data['venue_url_text'],"discount") == false) 
{
echo '<button class="btn" target="_blank" rel="nofollow"> VISIT VENUE WEBSITE </button>'; 
}
else { 
echo '<button class="btn" target="_blank" rel="nofollow"> VISIT DISCOUNTED VENUE</button>';
}
?>

我不知道你使用的是按钮还是输入,所以如果你想要输入而不是按钮,请将 &lt;button&gt; 替换为 &lt;input type="submit" value="VISIT ..." /&gt;

更新:对不起,我写错了,更新了

【讨论】:

  • 另外你解释的不是很好,提问前先阅读提示。我也认为你的 if/else 不起作用
  • 感谢您的回复,我正在使用引导程序的 class="btn"。
  • 我需要更好地解释我的代码。我使用 php 作为模板,所以当我在一个文件(视图)中编写代码时,我的所有 50 个网页都反映了这种变化。这就是为什么 php 以不同的结构写在 html 中,例如 。你的 php 更适合静态网页,我的网页都是动态的。
【解决方案2】:

试试这个:

<? if (stripos( $forum_data['venue_url_text'],"discount") !== false): ?>
    <a class="btn" target="_blank" rel="nofollow"> VISIT DISCOUNTED VENUE </a>
<? else: ?>
   <a class="btn" target="_blank" rel="nofollow"> VISIT VENUE WEBSITE </a>
<? endif; ?>

希望这会有所帮助。

【讨论】:

  • 感谢您的回复,我会尝试一下,如果有效,请告诉您。
【解决方案3】:

您必须在if 语句声明之后放置一个冒号(:),以使用else 更改elseif 条件并在endif 之后放置一个分号(;)而不是冒号:

<?php if(stripos( $forum_data['venue_url_text'],"discount") == false): ?>
<a href="<?php echo $forum_data['venue']['venue_url']; ?>" class="btn" target="_blank" rel="nofollow"> VISIT VENUE WEBSITE</a>
<?php else: ?>
<a href="<?php echo $forum_data['venue']['venue_url']; ?>" class="btn" target="_blank" rel="nofollow"> VISIT DISCOUNTED VENUE</a>
<?php endif; ?>

【讨论】:

  • 感谢您的回复,我不知道我会试一试。
  • 我尝试了您的代码,但出现以下错误。解析错误:语法错误,意外的 ':',在第 618 行的 /dev2/views/frontend/forum_single_2.php 中期待 '('
  • @AngelC 你是对的!您的代码中还有另一个错误:您必须使用else,而不是elseif。我现在会更新答案
  • 是的,错误不再存在,不幸的是,代码并没有相应地更改所有页面上的按钮文本。它要么运行一次代码并给出“访问场地折扣”的文本。到所有其他页面。
【解决方案4】:

这是我的解决方案,使用 php 和正则表达式:

<?php
 $venue_url_button = "Venue Website";
 if(preg_match('/discount(.*)/i',$forum_data['venue'['venue_url_text']) ) {
   $venue_url_button = "CLICK FOR DISCOUNTED HOTEL ROOMS"; }
else{
   $venue_url_button = "CLICK TO VISIT VENUE WEBSITE";
 }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    相关资源
    最近更新 更多