【发布时间】:2014-07-14 15:54:03
【问题描述】:
我是这里的新手,也是 php 的新手。不过,我对 stackoverflow 并不陌生 :)
我正在创建一个简单的报告系统,我希望从数据库中生成菜单和页面。
我看到this video on YouTube 并设法使用以下代码创建了一个菜单。
我有一个名为Reports 的数据库表和名为rep_id、rep_date、rep_ledit_date、rep_by、department、position、report 和rep_to 的列。
所以基于上面的方法,我用这段代码创建了一个菜单。
<?php
require ("includes/db.php");
mysqli_select_db($con, '$db_name');
$sql = "SELECT * FROM reports";
$result = mysqli_query($con, $sql) or die (mysqli_error($con));
$represult=mysqli_fetch_assoc($result);
$rep_by=$represult['rep_by'];
$report=$represult['report'];
?>
<li> Menu
<ul>
<?php do
{
?>
<li><a href="reports.php?rep_id=<?php echo $represult['rep_id']; ?>"> <?php echo $represult['rep_by'] . " (" . $represult['rep_date'] . ")"; ?></a></li>
<?php
} while ($represult=mysqli_fetch_assoc($result));
//$represult['rep_by'];
//$represult['report'];
//$represult['report'] ;
?>
</ul>
</li>
于是我创建了一个名为reports.php 的页面来查看数据库中内容的详细信息。我想要的是将以下 rep_by (rep_date) 视为标题并将报告视为内容。
我可能还想在内容中使用其他列。那么菜单和reports.php应该有什么样的代码来实现我想要的。我所做的是以下内容,它仅在单击所有菜单链接时输出第一行。
require ("includes/db.php");
mysqli_select_db($con, '$db_name');
$sql= "SELECT * FROM reports";
$result = mysqli_query($con, $sql) or die (mysqli_error($con));
$represult=mysqli_fetch_assoc($result);
<h1> <?php echo $represult['rep_by'] . " (" . $represult['rep_date'] . ")"; ?></a></h1>
<?php echo $represult['report']; ?>
【问题讨论】:
-
您似乎提供了 menu.php 的 PHP 代码。您是否要求提供reports.php 的PHP 代码示例?
-
我提供的答案解决了我在您的代码中看到的一个主要问题——
$represult=mysqli_fetch_assoc($result)被使用了两次——但不清楚问题是什么?这段代码不起作用吗?我的答案现在是一个解决方案吗?除非您可以编辑/修改问题以澄清,否则标记为“不清楚”。 -
@bloodyKnuckles,我现在修改了它。在此论坛上发帖时出现错误。问题仍然存在于reports.php
-
@bloodyKnuckles,很好的观察。这又是我在这个论坛上写的不好。我会修好它。我的问题是,页面没有显示相应的报告,而只是数据库中的第一行。
标签: php mysql loops dynamic menu