2012-05-08 31 views
0

點擊提交後,我想獲得多個請求。這意味着我點擊提交併得到結果後,我想再次查詢結果並再次點擊提交。我不想把自己帶回虛無。每當用戶點擊時PHP提交按鈕

<?php 
error_reporting(0); 
if (!$_POST['submit']) 
{ 
<form action="http://localhost/test.php" method="post"> 
Type of Leave: 
<select name="leave"> 
<option value=""selected="selected"></option> 
<option VALUE="Medical Leave"> Medical Leave</option> 
<option VALUE="Unpaid Leave"> Unpaid Leave</option> 
</select> 
<input type="submit" name="submit" value="Check!" /> 
</form> 
<?php 
} 
else 
{ 
$conn=odbc_connect("employee","","") or die (odbc_errormsg()); 
if (!$conn) 
{ 
exit 
("Connection Failed: " . $conn); 
} 
else 
{ 
$choice = $_POST['leave']; 
$sql="SELECT * FROM balance WHERE ID=$username"; 
$rs=odbc_exec($conn,$sql); 
?> 
<?php 
while (odbc_fetch_row($rs)) 
{ 
$choice=odbc_result($rs,"$choice"); 
echo "<tr><td>$choice</td>"; 
} 
odbc_close($conn); 
echo "</table>"; 
} 
} 

當前代碼本身查詢我想要的預期輸出,但唯一的缺點是它停留在那裏作爲輸出。我的目標是讓提交和選擇選項保持在那裏,以便我可以繼續輸出我想要的結果,謝謝。

+0

所以當提交表單時,您希望結果表和表單都顯示出來嗎? – JakeParis

+0

爲什麼你關閉'error_reporting'? – 2012-05-08 03:09:02

+0

@JMC我完成了。我想要的是在表格和結果顯示後,我有能力選擇另一次。例如,我第一次查詢醫療假。顯示醫療假結果。所以我點擊無薪假專欄並點擊提交,它會顯示無薪假結果。 @ Jack,因爲我會發現「提交」 – user127886

回答

0

最好的用戶體驗是使用AJAX動態更改結果表,具體取決於下拉列表中選擇的內容。對於更簡單的解決方案,您可以嘗試將表單移出並從if/else循環中移出。先把表格打印出來,然後打印表格,檢查if ($_POST['submit'])

在這個例子中,我還添加了一個小函數來將selected="selected"添加到爲此提交選擇的選項中。這很粗糙,但你明白了。

<?php 
function matchPost($name,$val) { 
if($val == $name) 
    echo 'selected="selected"'; 
} 
?> 

<form action="http://localhost/test.php" method="post"> 
Type of Leave: 
<select name="leave"> 
<option value=""></option> 
<option <?php matchPost('Medical_Leave',$_POST['leave']); ?> VALUE="Medical_Leave"> Medical Leave</option> 
<option <?php matchPost('Unpaid_Leave',$_POST['leave']); ?> VALUE="Unpaid_Leave"> Unpaid Leave</option> 
</select> 
<input type="submit" name="submit" value="Check!" /> 
</form> 

<?php 
if ($_POST['submit']) 

{ 
$conn=odbc_connect("employee","","") or die (odbc_errormsg()); 
if (!$conn) 
{ 
exit 
("Connection Failed: " . $conn); 
} 
else 
{ 
$choice = $_POST['leave']; 
$sql="SELECT * FROM balance WHERE ID=$username"; 
$rs=odbc_exec($conn,$sql); 
?> 
<?php 
while (odbc_fetch_row($rs)) 
{ 
$choice=odbc_result($rs,"$choice"); 
echo "<tr><td>$choice</td>"; 
} 
odbc_close($conn); 
echo "</table>"; 
} 
}