我在页面上有多个链接,每个链接都假定从数据库返回一行特定的数据。单击链接后,用户将转到另一个页面,其中显示与该链接关联的信息。这是代码:
//db connection: (using xampp)
mysql_connect('localhost', 'root', '');
mysql_select_db('db_name');
$sql = "SELECT * FROM user_input";
$records = mysql_query($sql);
//code:
<div>
$open_report = mtsql_fetch_assoc($records);
echo "Error Report# {$open_report['id']};
echo "<p>" .$open_report['comments'] . "</p>";
</div>
问题是它总是返回同一行数据。数据库中的每一行都与一个链接相关联,当单击该链接时,我想返回数据库中的相关数据行。我认为这可能与这一行有关:$ sql =&#34; SELECT * FROM user_input&#34 ;;但我不确定如何解决它。如果有人可以提供帮助,将不胜感激。
答案 0 :(得分:0)
我重新调整了我的答案,让它更好。我也注意到你使用的是mysql_而不是mysqli_。你需要使用mysqli_,因为mysql是折旧的。
编辑:这将是显示所有错误报告的页面。您可能希望以超链接的形式输出它们,该超链接将GET参数传递给显示详细信息的页面。
$sql = "SELECT ID, Description, etc, etc from reports";
$open_reports = mysqli_query($sql);
//error check here as well if ANY results were returned
while($row = mysqli_fetch_array($open_reports, MYSQLI_ASSOC)) {
echo '<a href="detailspage.php?id=' . $open_reports['ID'] . '">'' . $open_reports['Description'] . '</a>';
}
这将为您提供类似
的链接 detailspage.php?id=1
detailspage.php?id=2
等...
在&#34; detailspage.php&#34;您可以捕获该ID并在同一页面上显示动态信息。
if (isset($_GET['ID'])){
$sql = "Select * from user_input where ID='" . $_GET['id'] . "'";
$records = mysqli_query($sql)
while($open_report = mysqli_fetch_array($records, MYSQLI_ASSOC)) {
echo "Error Report# " . $open_report['id'] . "<br/>";
echo "<p>" .$open_report['comments'] . "</p>";
}
}