我有一个目前可用于过滤选项的网站,因此当有人从下拉列表中选择序列号并点击提交时,我的display.php页面出现并填充多个html表格,其中包含与该序列号对应的数据库元素号。
我的新任务是以相同的方式填充显示页面,但到达那里的方法是不同的。目前,如果您从下拉菜单中选择并点击提交,我将提交按钮发布到display.php页面,显示页面会提取请求,如下所示:
if(isset($_POST['submit']))
{
$query1 = "SELECT *
FROM staging
WHERE stageID = ".$_REQUEST['serialNumber'].";";
这将检查针对数据库选择的序列号,并提取附加到其上的整个记录。
现在我在主页面上有一个html表,它填充了数据库表中的所有记录。我想制作每一行'与href的html链接,当选择该链接时,它会拉出display.php页面并使用该值填充表格。 display.php上的表已经用数据库表中的正确值回显了行,所以我只需要一种从链接中填充的新方法。
我知道有一种方法可以在元素上使用href,但是表格是从SQL语句结果中填充的,如下所示:
<div class="dashboardTable">
<table style="border: 1px solid black;">
<tr>
<th>Work Order Packet</th>
<th>Work Order Number</th>
<th>Date</th>
<th>Utility</th>
<th>Service Name</th>
<th>Address</th>
<th>Serial No.</th>
</tr>
<?php
while($row = mysqli_fetch_array($result1)){
?>
<tr>
<td><? echo $row['workOrderPacket'];?> </td>
<td><? echo $row['workOrderNum'];?> </td>
<td><? echo $row['date'];?> </td>
<td><? echo $row['utility'];?> </td>
<td><? echo $row['serviceName'];?> </td>
<td><? echo $row['address'];?> </td>
<td><? echo $row['serialNumber'];?> </td>
</tr>
<?}?>
</table>
</div>
因此,当有人点击链接时,有没有办法调出我的display.php页面并检查数据库中是否有满足这7个元素的记录?或者即使我需要将display.php表复制到一个新文件中,这样它也不会与下拉列表$ _REQUEST混淆。
答案 0 :(得分:1)
您只需添加一个常规链接到该表,并更改您的显示页面以允许发布或获取:
<tr>
<th>Work Order Packet</th>
<th>Work Order Number</th>
<th>Date</th>
<th>Utility</th>
<th>Service Name</th>
<th>Address</th>
<th>Serial No.</th>
<th>View details</th>
</tr>
<?php
while($row = mysqli_fetch_array($result1)){
?>
<tr>
<td><? echo $row['workOrderPacket'];?> </td>
<td><? echo $row['workOrderNum'];?> </td>
<td><? echo $row['date'];?> </td>
<td><? echo $row['utility'];?> </td>
<td><? echo $row['serviceName'];?> </td>
<td><? echo $row['address'];?> </td>
<td><? echo $row['serialNumber'];?> </td>
<td><a href="/display.php?serialNumber=<? echo $row['serialNumber'];?>">view</a></td>
</tr>
<?}?>
Display.php的
//if(isset($_POST['submit']))
if(isset($_REQUEST['serialNumber']))
{
$query1 = "SELECT *
FROM staging
WHERE stageID = ".$_REQUEST['serialNumber'].";";
另外值得注意的是,您对SQL注入持开放态度,您应该考虑使用预准备语句