从数据库PHP创建HTML Nav

时间:2016-07-07 21:12:34

标签: php html mysql mysqli navigationbar

我目前正在重新设计我的网站以使用PHP和数据库(与Bootstrap,CSS和HTML相反),我目前在从我的数据库中获取链接并将其放入导航菜单时遇到问题。如果我最终决定更改它们,我更喜欢使用数据库来防止重新输入所有链接的需要。问题是我似乎无法在这里得到任何HTML输出,而且我不确定我做错了什么。我对PHP很新,所以可能有一些微不足道的事情,我只是没有掌握这个概念,但是目前这个代码只显示页面上<ul>的项目符号。我的数据库和代码如下。确认数据库能够连接。

enter image description here

test.php的:

require_once('config.php');
$conn = new mysqli($servername, $username, $password, $database);

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT link_title, link_url FROM links ORDER BY link_id";

if ($result = $conn->query($query)) {

    echo '<ul class="nav navbar-nav navbar-right">';
    foreach($result as $link) {
        echo '<li>';
        echo "<a href='{$link->link_url}'>{$link->link_title}</a>\n";
        echo '</li>';
    }
    echo '</ul>';

    /* free result set */
    $result->close();
}

/* close connection */
$conn->close();

1 个答案:

答案 0 :(得分:1)

if ($result = $conn->query($query)) {

  echo '<ul class="nav navbar-nav navbar-right">';
  while($link = $result->fetch_object()) {
       echo '<li>';
       echo "<a href='{$link->link_url}'>{$link->link_title}</a>\n";
       echo '</li>';
  }
  echo '</ul>';

/* free result set */
$result->free(); // there is no method "close" for result -> http://fi2.php.net/manual/en/class.mysqli-result.php
}