2017-04-11 25 views
1

對於此項目,我有一個上傳頁面供用戶上傳CSV文件,並將其插入到單個臨時表中的數據庫中。從那裏,有些東西被拆分並且被插入到單獨的表格中。每個CSV有2到8行,每行有228個字段,所以在暫存表中有228列。PHP - 與選擇框選項連接的HTML表單

上傳後,用戶可以轉到頁面(userSelect.php)並使用下拉菜單幫助選擇工作訂單以查看它將顯示在多個表中的位置。

上傳/插入效果很好,下拉列表中正確填充了數據庫中的元素,但我似乎無法將選擇連接到表格頁面。例如,如果用戶選擇「工作訂單數據包」下拉菜單並選擇「2月區域B1」,我希望它顯示來自具有此工單數據包名稱的數據庫中的任何記錄的鏈接。然後,一旦他們選擇了他們想要的記錄,我希望display.php頁面使用我假設的id填充來自該特定記錄的228個元素的所有表格。

我有下面這兩個頁面的代碼。 userSelect頁面當前沒有任何代碼將數據庫記錄顯示爲鏈接,所以我希望弄清楚如何顯示這些內容,然後使用用戶選擇填充顯示頁面上的表格的代碼。

userSelect.php

<form method="post" action="display.php" enctype="multipart/form-data"> 
<input type="submit" name="submit" value="Confirm" > 
</form> 
<?php 
$server = "localhost"; 
$user = "root"; 
$pw = "root"; 
$db = "uwsTest"; 

$connect = mysqli_connect($server, $user, $pw, $db); 
if ($connect->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
}else{ 
    echo'success!'; 
} 
?> 

<label>Select Work Order Packet:</label> 
<select name="workOrderPacket"> 
<?php 

$sql = mysqli_query($connect, "SELECT workOrderPacket FROM staging;"); 
while($row = $sql->fetch_assoc()){ 
    echo "<option >" . $row['workOrderPacket'] . "</option>"; 
} 
?> 
</select> 
<label>Select Work Order ID:</label> 
<select name="WorkOrderNumber"> 

<?php 

$sql2 = mysqli_query($connect, "SELECT workOrderNum FROM staging;"); 
while($row2 = $sql2->fetch_assoc()){ 
    echo "<option>" . $row2['workOrderNum'] . "</option>"; 
} 
?> 
</select> 

Display.php的

<?php 
if(isset($_POST['submit'])) 
{ 
while($row = mysqli_fetch_array($result1)){ 
?> 
<!--Qa Table--> 
<table> 
<tr> 
<th colspan="2">Qa/Qc CheckList</th> 
</tr> 
<tr> 
<td>Service Address Correct</td> 
<td><? echo $row['serviceAddress'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Service Loc Correct</td> 
<td><? echo $row['serviceLoc'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Meter Number Correct</td> 
<td><? echo $row['meterNumber'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Meter Manufacturer Changed</td> 
<td><? echo $row['meterManufacturer'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Meter Type Changed</td> 
<td><? echo $row['meterType'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Meter Model Changed</td> 
<td><? echo $row['meterModel'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>Low Register Correct</td> 
<td><? echo $row['registerCorrect'];?>&nbsp;</td> 
</tr> 
<tr> 
<td>High Register Correct</td> 
<td><? echo $row['registerCorrect'];?>&nbsp;</td> 
</tr> 
</table> 

更新 - 未完成Display.php的SQL查詢:

$query1 = "SELECT * FROM staging WHERE StageID = ;"; 
$result1 = mysqli_query($connect,$query1); 
+0

請在頂部 – manian

+0

對不起不是那樣的移動 <形式方法= 「POST」 行動= 「Display.php的」 ENCTYPE = 「多部分/格式數據」>上面PHP代碼。只需將表單打開標籤單獨移動到頂部,並將其餘2行保留在底部 – manian

+0

按上面所述移動並檢查它是否可用 – manian

回答

1

您將需要更新你的SQL語句過濾相關的結果。

SELECT workOrderNum FROM staging WHERE workOrderPacket = '.$_REQUEST["workOrderPacket"] ';

+1

現在,我的第一條SQL語句是workOrderPacket,它將所有工作訂單包號放在選擇框中,這正是我想要的。但爲了過濾workOrderNum結果,你的意思是我需要改變第二個SQL語句嗎?這樣它只顯示該包內的工單號碼? –

+1

是的,如果你想過濾workOrderNum結果,你需要改變第二條語句。 '$ sql2 = mysqli_query($ connect,「SELECT workOrderNum FROM staging WHERE workOrderPacket ='」$ workOrderPacket「';」);' – squid

+1

啊,我明白了,我只是試過成功了,謝謝!只要在提交之後製作下一頁(display.php),您是否有任何想法用與選擇對應的記錄中的值填充表格?換句話說,如果用戶選擇workOrderNum 779870,它將使用779870作爲工單號碼的數據庫記錄中的228個值填充display.php中的表格? –