抱歉,这很基本。我创建了一个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);
?>
答案 0 :(得分:2)
您的代码没有太多更改。在<ul>
循环周围添加</ul>
和while
。将模式更改为<li><a href="%s">%s</a></li>
。并将$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>';