从DB返回特定行

时间:2014-11-03 17:27:15

标签: php html database

我在页面上有多个链接,每个链接都假定从数据库返回一行特定的数据。单击链接后,用户将转到另一个页面,其中显示与该链接关联的信息。这是代码:

//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 ;;但我不确定如何解决它。如果有人可以提供帮助,将不胜感激。

1 个答案:

答案 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>";
    }
}