2017-04-12 43 views
0

我有一個網站,目前的作用就像過濾選項,所以當有人從下拉列表中選擇一個序列號並點擊提交時,我的display.php頁面出現並使用與該序列號對應的數據庫元素填充多個html表格。PHP HTML表格 - 數據庫元素的href鏈接填滿了以下頁面上的表格

我的新任務是以相同的方式填充顯示頁面,但到達目的地的手段是不同的。目前,如果從下拉菜單中選擇並點擊提交,我張貼提交按鈕的頁面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'];?>&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> 
</tr> 
<?}?> 
</table> 
</div> 

所以,當有人點擊一個鏈接,是有辦法調出我的display.php頁面並檢查數據庫中是否有滿足這7個元素的記錄?或者即使我需要將我的display.php表複製到一個新文件中,以免它與下拉$ _REQUEST混淆。

回答

1

您可以只需添加一個常規鏈接表,並改變你顯示網頁允許POST或GET:

<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'];?>&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> 
<?}?> 

Display.php的

//if(isset($_POST['submit'])) 
if(isset($_REQUEST['serialNumber'])) 
{ 

$query1 = "SELECT * 
      FROM staging 
      WHERE stageID = ".$_REQUEST['serialNumber'].";"; 

另外值得注意的你是開放到SQL注入,你應該看看使用準備好的語句

+0

哦,我沒有想到這樣,讓我試試看。謝謝! 此外,是的,我以前已經與某人準備好了陳述,並且將來會這樣做。這是爲了一個項目,所以我已經放鬆了一些安全和程序問題,但我一定會考慮它,謝謝! –

+0

我嘗試了視圖鏈接行(顯示並提交完美),我不得不改變路徑,因爲我在本地服務器上。我終於把它拉出來了,但它只是顯示我的連接成功的信息和打印出的選定序列號。我評論了我的帖子/提交行,並放入$ _REQUEST行。 –

+0

如果你所有的改變是if條款,那麼我不知道爲什麼它不工作,如果以前的版本沒有 – Steve

相關問題