繁体   English   中英

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

[英]Link next to each row in sql table result in php to display full data for that row

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

让我进一步解释:我有一个MySql表,该表具有以下字段:文件名,intro_data,content_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”。 在此页面中,我希望它显示该特定行的所有字段结果(文件名,intro_data,content_data,结论_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子句)。

希望这个帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM