谁能告诉我我做错了什么?我刚学会了如何创建一个函数并在动态表中显示它 - 我想。我一直在调整它,改变变量等,但我无法让它发挥作用。
我在while循环之前插入了以下脚本。
function get_stars2($Latin)
{
$stars2 = '';
{
switch($Latin) {
case 'Aix sponsa':
case 'Gavia immer':
return '<sup><span style="color: #f00;"><b>+</b></span></sup>';
break;
default:
return $stars2;
break;
}
}
}
$拉丁语实际上是在while循环中定义的,但我被告知无所谓;该函数可以在while循环之外处理它。
以下是我在表格中插入函数的方法:
<td>'.$row['Symbol'].'</a>'.get_stars2($Latin).$DesigAst.'</td>
注意:有人评论说使用函数显示HTML是不好的形式,所以让我解释一下这里发生了什么。我正在研究一个相当复杂的动态参考表 - 实际上是一系列表。我的一个文件遭受了代码膨胀,因此我将一系列PHP开关放在一个单独的文件中并使用require_once包含它们。这就是我学会了require_once nixes while循环的方法;换句话说,一个动作只能发生一次。如果我将require_once更改为require,那么整个文件将包含在我表中的每一行中。
所以我询问了替代方案,并且我被告知我需要使用一个函数,我的经验非常有限。还有其他一些选择,但他们有点过头了。所以我想我要么学习如何使用函数或者对我的数据库表进行爵士乐,这样他们就可以在我的参考表中处理所有额外的注释和脚注。
答案 0 :(得分:1)
为什么所有的错综复杂的逻辑?
function get_stars2($ Latin){ if($ Latin)返回'&lt; sup&gt;&lt; span style =“color:#f00;”&gt;&lt; b&gt; +&lt; / b&gt;&lt; / span&gt; &LT; / SUP&GT;'; }
更好的是,您可以将其包装在
中if ($Latin) { foo(); }
此外,让PHP函数返回HTML被认为是不好的形式。
此外,您的代码有效。也许您没有使用echo
命令。