繁体   English   中英

努力将PHP数组输出为无序HTML列表

[英]Struggling to output PHP array as unordered HTML list

抱歉,这很基本。 我已经创建了一个SELECT查询,并且(我认为)将检索到的数据存储为一个数组。

我自己可以使用printf从数组中输出选定的项目,但是我想以更结构化的方式输出值,作为HTML中的无序列表。 这将是链接列表。 anchor对应于我的MySQL表中的链接名称列,而link对应于url列,将其输出为例如<li><a href="link">anchor</a></li>

据我所知。 我知道我需要一个for循环,但是我复制的演示仍然失败。

非常感谢善良人士的任何指点。 后端对我来说是新的。

 <?php $server = "localhost"; $username = "blah"; $password = "blahblah"; $database = "blah_db"; $conn = mysqli_connect($server, $username, $password, $database); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $result = mysqli_query($conn, "SELECT anchor, link FROM footerLinks"); while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) { printf("Anchor: %s Link: %s ", $row[0], $row[1]); } mysqli_free_result($result); ?> 

您的代码没有太多更改。 while循环周围添加<ul></ul> 将模式更改为<li><a href="%s">%s</a></li> 并将$row[0], $row[1]交换$row[0], $row[1] $row[1], $row[0]

$result = mysqli_query($conn, "SELECT  anchor, link FROM footerLinks");

echo '<ul>';
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
    printf('<li><a href="%s">%s</a></li>', $row[1], $row[0]); 
}
echo '</ul>';

我虽然会使用MYSQLI_ASSOC而不是MYSQLI_NUM (这被认为是不正确的做法),并且还将面向对象样式用于mysqli函数:

$result = $conn->query("SELECT  anchor, link FROM footerLinks");

echo '<ul>';
while ($row = $result->fetch_assoc()) {
    printf('<li><a href="%s">%s</a></li>', $row['link'], $row['anchor']); 
}
echo '</ul>';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM