php - sql 表中每行旁边的链接导致 php 显示该行的完整数据

标签 php mysql sql database

我正在尝试显示 sql 表中的几个字段,并希望在每一行中添加一个链接,将用户带到显示该特定表行的所有结果的页面。

让我解释一下:我有一个 MySql 表,其中包含以下字段:文件名、intro_data、content_data、conclusion_data。我创建了一个 php 页面,使用以下代码显示该 sql 表中文件名和 intro_data 字段的所有数据列表:

//Query to select rows or data in table
$query= "SELECT filename,intro_data FROM file_data";  
$result=mysqli_query($connect, $query);

if (!$result)  
{  
  die('Error fetching results: ' . mysqli_error()); 
  exit();  
}

echo '<table border="1">'; // start a table tag in the HTML
//Storing the results in an Array
while ($row = mysqli_fetch_array($result))  //Creates a loop to loop through results
{  
    echo "<tr><td>" . $row['filename'] . '</td><td>' . $row['intro_data'] . '</td><td> <a href="full_table_row_results.php">More Info</a></td></tr>';  
}  
echo '</table>'; //Close the table in HTML

//Closing DB Connection
mysqli_close($connect); 

如果您在上面的代码中注意到,我有一个链接到“full_table_row_results.php”的“更多信息” anchor 标记。在此页面中,我希望它显示该特定行的所有字段结果(文件名、intro_data、content_data、conclusion_data)。我知道我可以查询这样的表的所有结果:

$query= "SELECT * FROM file_data"; 

但是我如何创建“full_table_row_results.php”来查询用户单击的特定行的所有字段?由于行结果来自数组,我如何知道用户单击了该数组中的哪一行号?我不确定如何编写“更多信息”页面的代码。

我被困在这个问题上,不知道如何实现。

最佳答案

一种解决方案(一如既往,还有许多其他解决方案)。

首先,您的表中的每一行都需要一个 id(如果您还没有)。 MySQL 中的 auto_increment 整数字段可以完成这项工作。 接下来,您需要在 php 代码中获取 id

$query= "SELECT id, filename,intro_data FROM file_data";

然后,当您链接到 full_table_row_results.php 脚本时,您可以将其用作参数。链接将是:

echo '<a href="full_table_row_results.php?id=' . $row['id'] . '">' /* etc. */ ;

(在您的代码中进行调整,我没有复制您的所有代码以方便阅读)。 在最后一个脚本中,您可以使用 $_GET['id'] 访问此参数。然后您可以仅在数据库中查询这一行(使用 WHERE 子句)。

希望这有帮助

关于php - sql 表中每行旁边的链接导致 php 显示该行的完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20121044/

相关文章:

sql - 如何打印 django .save() 方法执行的查询?

sql - 处理来自非常大的数据库表的数据的架构

php - 如何在 PHP 中以字符串形式显示数据库中表的内容?

php - Aes|Rijndael-128 在 Delphi XE2 中进行哈希文本解码

php - 通过滑动效果显示/隐藏 div

php var到年和月

mysql - 同步内存缓存和 MySQL

mysql - 无效的日期时间格式 : 1292 Truncated incorrect DOUBLE value

php - 如何阻止 Doctrine 引用数字?

sql - 对于具有大量数据的表,将数据类型从 varchar 更改为 nvarchar