Php IF/ELSE语句中的动态链接
我为任何误用术语道歉…我是个笨蛋 我有一个动态创建的页面,其中包含一个动态链接。我添加了一个IF/ELSE语句,根据变量$rowsphoto中的项数显示不同的单词 不同的单词显示正确,但生成的URL包含所有PHP,而不是生成正确的URL 这是原始代码,工作正常:Php IF/ELSE语句中的动态链接,php,dynamic,hyperlink,Php,Dynamic,Hyperlink,我为任何误用术语道歉…我是个笨蛋 我有一个动态创建的页面,其中包含一个动态链接。我添加了一个IF/ELSE语句,根据变量$rowsphoto中的项数显示不同的单词 不同的单词显示正确,但生成的URL包含所有PHP,而不是生成正确的URL 这是原始代码,工作正常: <?php if($portfolioid != 0) { ?> <div class="extrafield">Additional works in <a href="index.php?opt
<?php if($portfolioid != 0) { ?>
<div class="extrafield">Additional works in <a href="index.php?option=com_jartists&view=portfolio&aid=<?php echo $artistid;?>&pid=<?php echo $portfolioid; ?>&album=<?php echo $albumid;?>&id=<?php echo $photoidd; ?>&Itemid=105" class="portfoliocol">Portfolio:</a></div>
其他工程
这是添加IF/ELSE语句后的代码:
<?php if($portfolioid != 0) { ?>
<div class="extrafield">
<?php
if ($rowsphoto <= 4){
echo "Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=<?php echo $artistid;?>&pid=<?php echo $portfolioid; ?>&album=<?php echo $albumid;?>&id=<?php echo $photoidd; ?>&Itemid=105' class='portfoliocol'>Edition:</a>";
} else {
echo "Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=<?php echo $artistid;?>&pid=<?php echo $portfolioid; ?>&album=<?php echo $albumid;?>&id=<?php echo $photoidd; ?>&Itemid=105' class='portfoliocol'>Portfolio:</a>";
}
?>
</div>
我对代码进行了几次语法检查,结果都没有错误。我做错了什么?这可能吗?您最好像这样正确地使用它:
<?php if($portfolioid != 0): ?>
<div class="extrafield">
<?php if($rowsphoto <= 4): ?>
Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=<?php echo $artistid; ?>&pid=<?php echo $portfolioid; ?>&album=<?php echo $albumid; ?>&id=<?php echo $photoidd; ?>&Itemid=105' class='portfoliocol'>Edition:</a>
<?php else: ?>
Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=<?php echo $artistid; ?>&pid=<?php echo $portfolioid; ?>&album=<?php echo $albumid; ?>&id=<?php echo $photoidd; ?>&Itemid=105' class='portfoliocol'>Portfolio:</a>
<?php endif; ?>
</div>
<?php endif; ?>
其他工程
其他工程
你把html
和php
混合得很糟糕。您应该将它们分开,以保持代码干净简洁
它显示php而不是正确变量的问题在于():
不能在PHP中使用PHP标记,只需转义字符串即可 边界并使用。连接运算符,而不是尝试打开 新的PHP标记,例如echo“String here”$瓦名称;与回声相反 “这里是字符串”
虽然Darren的答案是正确的,但是您也可以只停留在php内部
<?php
if($portfolioid != 0) {
echo '<div class="extrafield">';
if ($rowsphoto <= 4){
echo "Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=$artistid&pid=$portfolioid&album=$albumid&id=$photoidd&Itemid=105' class='portfoliocol'>Edition:</a>";
} else {
echo "Additional works in <a href='index.php?option=com_jartists&view=portfolio&aid=$artistid&pid=$portfolioid&album=$albumid&id=$photoidd&Itemid=105' class='portfoliocol'>Portfolio:</a>";
}
echo '</div>';
}
?>
从技术上讲,这是有效的语法,但它不是您想要的。您不希望在字符串中间有<代码> <代码>。您已经在使用php,因为您正在回显字符串。您所做的只是用变量回显文本字符串。您可能想要做的是将变量用大括号括起来,这样字符串的结尾就像echo“test{$foo}bar”
您不能在PHP内部使用PHP标记,您只需要转义字符串边界并使用
连接运算符,而不是尝试打开新的PHP标记,例如echo“string here”$瓦名称代码>而不是在这里回显“字符串”
谢谢–效果非常好!现在我完全明白了。很高兴能帮上忙,伙计!还有@Aaron,这将帮助您理解速记语法:)