如何在html上使用php数组变量输出一个ul列表?
Posted
技术标签:
【中文标题】如何在html上使用php数组变量输出一个ul列表?【英文标题】:How to use php array variables on html to output a ul list? 【发布时间】:2011-12-15 10:13:34 【问题描述】:
//Setting up variables
$server = "**********";
$username = "**********";
$password = "******";
$database = "*******";
//Connecting to Server
mysql_connect($server, $username, $password)or die (mysql_error());
//echo "Connected to MySQL";
//Connecting to database
mysql_select_db($database) or die (mysql_error());
//echo "Connected to my Database";
//variable selecting the reach_codes table
$result = mysql_query("SELECT * FROM reach_Codes");
//set variable to store column arrays
$fault_Codes = array();
//while loop fetching all rows
while(false !== ($row = mysql_fetch_assoc($result)))
$fault_Codes[] = $row['fault_ID'];
echo $fault_Codes[1];
mysql_close();
?>
大家好,所以我对网络编程比较陌生,但是我用c ++编程,所以我想让这个网站显示一些故障代码信息,因为我在工作中从事叉车工作,只是为了让我的生活更轻松。我现在数组是如何工作的,我只是找不到关于如何在 html 上使用这些数组变量的信息,任何帮助或指出正确的方向将不胜感激。
【问题讨论】:
所以我不断收到解析错误:语法错误在我放第一个 标记的同一行可能是因为我有点累了,我忽略了一些东西。 【参考方案1】:如果您的代码在视图文件中,您可以使用以下语法:
<ul>
<?php foreach ($falt_codes as $item): ?>
<li><?= $item ?></li>
<?php endforeach; ?>
</ul>
<?=
标签是<?php echo;
的简写,但您需要在您的php.ini 中启用short-open-tag
(除非您正在运行的版本为5.4.0 或更高版本)。
编辑根据对另一个答案的评论,短标签<?=
已被贬值并且形式不佳。我显然没有收到那份备忘录。
编辑2:以下来自documentation关于上述<?=
:
此指令 [short-open-tag] 还影响了 PHP 5.4.0 之前的简写
<?=
,它与<? echo
相同。使用此快捷方式需要打开 short_open_tag。自 PHP 5.4.0 起,<?=
始终可用。
看到他们如何使它成为一等公民,我不知道为什么它在评论中被视为贬值。
【讨论】:
我认为重点不是不鼓励<?=
,而是不鼓励短标签。 (我真的不知道为什么不鼓励它,尽管我记得那天读过一些说它与 XML 或其他东西发生冲突的东西。)当 5.4 出来时,它会将漂亮的 <?=
行为从短标签语法中分离出来, 这样您就可以禁用短标签但仍然使用它,从而回避这个问题。还要记住 5.4 还没有发布,所以现在还没有一个不需要短标签的生产版本,这就是为什么它仍然不鼓励。
啊,感谢您提供的信息丰富且具有教育意义的评论。【参考方案2】:
当你可以轻松地在 php 中回显 HTML 代码时,为什么要使用数组..
echo "<ul>";
while($row = mysql_fetch_assoc($result))
echo "<li>$row</li>";
echo "</ul>";
【讨论】:
谢谢我尝试这样的事情,但我可能搞砸了 sintax,如果我使用数组,所有其他答案似乎也很合适。谢谢大家【参考方案3】:确保您在服务器上的 php.ini 中启用短代码,以使上述功能正常工作。
【讨论】:
短代码 tdk2fe 指的是 = 这与 @Kai:嘘。拧那个。我喜欢短标签。当他们从我冰冷的死手上撬开我的 = 时,他们可以得到我的。 PHP 并不以优雅着称 :) @chao - 哈哈,是的,我知道。我不明白为什么当你的网站和你选择运行你选择的任何版本的 PHP 时,人们会全力以赴。另一方面,我必须符合某些期望,因为我在一家以客户为导向的公司工作。规则,你知道的。【参考方案4】:只需确保您的文件以 .php 扩展名结尾,然后您就可以执行类似的操作。 (假设您上面的代码在同一个文件中)
<ul>
<? foreach($fault_codes as $code) ?>
<li><?php echo $code;?></li>
<? ?>
</ul>
【讨论】:
两个快速注释。首先,我发现在这种情况下使用alternate syntax 更具可读性(即foreach(...):
和endforeach;
。其次,由于您假设启用了短标签,您可以只使用<?=$code?>
而不是使用@987654326在那种情况下明确地@。
@AgentConundrum 好吧,我想这是一个见仁见智的问题......我写的方式对我来说更具可读性,而且你不能在文本编辑器中使用“数学括号”键盘快捷键括号可以吗?哈哈。我非常了解<?=$codde?>
风格,但我试图使用echo
来模仿OP 的风格
我不是在批评。我只是想添加一些您或 OP 可能不知道的补充信息。您可能对 IDE 支持是正确的,但我对此没有任何问题,因为除了围绕原始 HTML 块之外,我不会在任何地方使用这些构造,并且 <?php?>
标记将与 IDE 一样可识别在那种情况下。以上是关于如何在html上使用php数组变量输出一个ul列表?的主要内容,如果未能解决你的问题,请参考以下文章