如何在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>

&lt;?= 标签是&lt;?php echo; 的简写,但您需要在您的php.ini 中启用short-open-tag(除非您正在运行的版本为5.4.0 或更高版本)。

编辑根据对另一个答案的评论,短标签&lt;?= 已被贬值并且形式不佳。我显然没有收到那份备忘录。

编辑2:以下来自documentation关于上述&lt;?=

此指令 [short-open-tag] 还影响了 PHP 5.4.0 之前的简写 &lt;?=,它与 &lt;? echo 相同。使用此快捷方式需要打开 short_open_tag。自 PHP 5.4.0 起,&lt;?= 始终可用。

看到他们如何使它成为一等公民,我不知道为什么它在评论中被视为贬值。

【讨论】:

我认为重点不是不鼓励&lt;?=,而是不鼓励短标签。 (我真的不知道为什么不鼓励它,尽管我记得那天读过一些说它与 XML 或其他东西发生冲突的东西。)当 5.4 出来时,它会将漂亮的 &lt;?= 行为从短标签语法中分离出来, 这样您就可以禁用短标签但仍然使用它,从而回避这个问题。还要记住 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;。其次,由于您假设启用了短标签,您可以只使用&lt;?=$code?&gt; 而不是使用@987654326在那种情况下明确地@。 @AgentConundrum 好吧,我想这是一个见仁见智的问题......我写的方式对我来说更具可读性,而且你不能在文本编辑器中使用“数学括号”键盘快捷键括号可以吗?哈哈。我非常了解&lt;?=$codde?&gt; 风格,但我试图使用echo 来模仿OP 的风格 我不是在批评。我只是想添加一些您或 OP 可能不知道的补充信息。您可能对 IDE 支持是正确的,但我对此没有任何问题,因为除了围绕原始 HTML 块之外,我不会在任何地方使用这些构造,并且 &lt;?php?&gt; 标记将与 IDE 一样可识别在那种情况下。

以上是关于如何在html上使用php数组变量输出一个ul列表?的主要内容,如果未能解决你的问题,请参考以下文章

在从 PHP 数组填充的 JQuery HTML 选择列表上设置 SELECTED 属性 [重复]

HTML无序列表ul标签用法

将路径数组转换为 UL 列表

如何在 PHP 中循环并输出变量数组对象的值

使用 PHP 从 HTML 列表生成 XML

如何在UL中迭代使用appendChild和片段LI?