【发布时间】:2022-01-08 09:14:56
【问题描述】:
这是我在 php 中显示页码的代码行,这些页码是根据表格中的内容自动生成的。由于所有页码都具有相同的颜色,因此我想显示当前活动页面,因此我想使用类中的条件来执行此操作,但由于锚标记已经在 echo 的 "" 中,并且类以',一旦我将' 设置为条件,课程将更快结束并且条件不成立。
有没有办法绕过这个或在' ' 内部使用其他东西?
还是有其他方式来显示当前的活动链接?
echo "<a class='{% if page.url. =='?page=$x' %}active{% endif %}' href='?page=$x'> $x </a>";
如果有人需要更多代码,这是用于根据表格中的项目数打印所有页面的整个 php 代码
for($x = 1; $x <= $totalPages + 1; $x++){
?>
<div class='page'>
<?php
echo "<a class='{% if page.url. =='?page=$x' %}{% endif %}' href='?page=$x'> $x </a>";
?>
</div>
<?php
}
【问题讨论】:
-
这看起来像是一个错字:
page.url. ==-- 但是,您可以转义引用,例如echo "<a class=\"{% if page.url=='?page=$x' %}active{% endif %}\" href=\"?page=$x\"> $x </a>"; -
请根据How to Ask在此处发布之前研究您的询问。这是Escaping quotation marks in PHP 的副本
-
另外,
page.url是什么?如果将代码修改为<a class="<?php echo (page.url == '?page=' . $x ? 'active' : ''); ?>" href="?page=<?php echo ($x); ?>"><?php echo($x); ?></a>,则会收到错误消息:“使用未定义的常量页面 - 假定为‘页面’”。page是 JS 变量吗?如果是这样,则不能在此代码中使用它,因为 PHP 早在 JS 变量可用之前就进行了处理。如果$page = ['url' => '?page=1'];有效,并且您将其更改为$page['url'] == '?page=' . $x,(或类似)。 -
• 在 HTML 中使用的正确引号是 双引号
"。 • PHP 可以对字符串使用单引号或双引号。因此,在 PHP 中使用单引号最容易在 HTML 部分中使用双引号,例如echo '<a class="something">etc</a>所以你不必一直转义引号。 (对于 Javascript 也是如此;我总是对我的 javascript 字符串使用单引号,以便在字符串中使用双引号而无需转义。)
标签: php html css class conditional-statements