PHP: How to hide/display chunks of HTML

前端 未结 4 1192
误落风尘
误落风尘 2021-02-06 09:18

I\'m hoping someone can help with this very newbie question. I\'ve just come from an ASP.Net environment where it was easy to hide or show chunks of HTML. For example: Different

相关标签:
4条回答
  • 2021-02-06 09:37

    Considering PHP as an embedded language you should, in order to get better readability, use the specific language forms for the "templating".

    Instead of using echo you could just write the HTML outside the <?php ?> tags (never use <? ?> which could be misleading).

    Also it is suggested to use if () : instead of if () {, for example:

    <body>
        <?php if (true) : ?>
            <p>It is true</p>
        <?php endif; ?>
    </body>
    

    References:

    • Alternative syntax
    0 讨论(0)
  • 2021-02-06 09:44

    Try this:

    <?php if ($var == true) { ?>
        <table>...</table>
    <?php } ?>
    

    You can use PHP tags like wrapped around HTML and based on the conditional the HTML will either be rendered or it won't.

    0 讨论(0)
  • 2021-02-06 09:49

    This should work too. E.g. for hiding/displaying a table tag.

    <table <?php echo (condition == true)?'visible':'hidden'; ?> ></table>

    0 讨论(0)
  • 2021-02-06 09:56

    You don't need to put the HTML into an echo statement. Think of the HTML as implicitly being echoed. So, for conditionally showing a chunk of HTML, you'd be looking for a construct like this:

    <?php
        if (condition == true) {
    ?>
        <div>
            <p>Some content</p>
        </div>
    <?php
        }
    ?>
    

    So the HTML string literal that exists outside of the PHP tags is just implicitly delivered to the page, but you can wrap logic around it to drive it. In the above, the div and its contents are all within the scope of the if statement, and so that chunk of HTML (even though it's outside of the PHP tags) is only delivered if the condition in the PHP code is true.

    0 讨论(0)
提交回复
热议问题