将带有超链接的html表中的值传递给下一页上的数据库查询

时间:2017-04-12 20:01:51

标签: php html mysql sql database

以下是我的两页代码。 Dashboard.php有一个html表,其中填充了由我的数据库填充的7列。所有人都没有任何问题。在第8列中,我有一个显示“查看”的超链接。单击时,我希望超链接使用serialNumber列中的值,然后当它打开Display.php页面时,我需要根据该序列号填充数据库值.h / p>

我在display.php中的查询是为了从我的登台表中获取与单击超链接的行中的serialNumber对应的stageID。

即,如果用户使用988809作为serialNumber命中行上的“View”,则查询应该与我的临时表中的序列号匹配,并选择具有该stageID的所有内容,然后填充我的表。

$ _GET的调试语句会从所选的行/链接中回显正确的serialNumber,但在display.PHP上,我只获取我的echo语句,没有表或数据。如何更改我的超链接或查询以解决此问题?

Dashboard.PHP

<?php

include 'connectionDB.php';

$query1 = "SELECT * FROM staging;";
$result1 = mysqli_query($connect,$query1);
?>
<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'];?>&nbsp;</td>
    <td><? echo $row['workOrderNum'];?>&nbsp;</td>
    <td><? echo $row['date'];?>&nbsp;</td>
    <td><? echo $row['utility'];?>&nbsp;</td>
    <td><? echo $row['serviceName'];?>&nbsp;</td>
    <td><? echo $row['address'];?>&nbsp;</td>
    <td><? echo $row['serialNumber'];?>&nbsp;</td>
    <td><a href="Display.php?serialNumber=<? echo $row['serialNumber'];?    >">view</a></td>
</tr>
<?}?>
</table>
</div>

Display.php的

<?php

if(isset($_GET['serialNumber'])) 
{

    $query1 = "SELECT * FROM staging WHERE stageID = ".$_GET['serialNumber'].";";
    $result1 = mysqli_query($connect,$query1);
    while($row = mysqli_fetch_array($result1)){
?>
    <div class="container">
<!--Title Line-->
<DIV class="title">
<h3>REPORT TITLE</h3>
</DIV>

<div class="TitleContainer" style="width: 100%;">
<!--Column 1 for header info-->
<DIV class="headerCol1">    
<table style=" float: left; border:none;
border-collapse:collapse;">
<tr style="border: none;">
<th style="border: none; text-align: left;">Account:</th>
<th style="border: none; text-align: right;"><? echo $row['accountNum'];?>&nbsp;</th>
</tr>
<tr style="border: none;">
<td style="border: none; text-align: left;">Date/Time:</td>
<td style="border: none; text-align: right;"><? echo $row['date'];?>,&nbsp;&nbsp;<?echo $row['timeTested'];?>&nbsp;</td>
</tr>

1 个答案:

答案 0 :(得分:0)

1),使用htmlspecialcharts()方法来避免数据库渗透的任何问题 - &gt; http://php.net/manual/en/function.htmlspecialchars.php

2),如果我理解得很好,那ISSET的条件效果不好?如果是这样的话很奇怪......可以尝试使用

if(!empty($_GET['serialNumber'])) 
{
...