我有一個簡單的php表單,它允許用戶從主題區域的下拉列表中選擇返回一組數據庫(例如http://library.wabash.edu/biology.php)。如您所見,在進行選擇並單擊「提交」之前,不會返回任何內容。是否有可能在加載頁面時加載一組數據庫(生物學數據庫將載入生物部門頁面等),但是還允許用戶再次選擇,如我現在所做的那樣?我的經驗不足,提前表示道歉。在頁面加載時加載php表單搜索結果
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<select name="choice" id="choice">
<option value="Biology">Biology</option>
<option value="Chemistry">Chemistry</option>
<option value="Computer Science">Computer Science</option>
<option value="Mathematics">Mathematics</option>
<option value="Medicine">Medicine</option>
<option value="Physics">Physics</option>
</select>
<input type="submit" name="submit" value="Go" style="margin-left: 10px">
<input type="submit" name="reset" value="Clear" style="margin-left: 10px">
<input type="hidden" name="submitted" value="true"/>
</form>
<?php
if(isset($_POST['submit'])) {
$choice=$_POST['choice'];
$localhost="localhost";
$username="xxxxxxx";
$password="xxxxxxx";
$database="xxxxxxx";
$linkid=mysql_connect($localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
mysql_select_db("databases",$linkid);
$resultid=mysql_query("SELECT name, mobile, app, tutorial, help
FROM databaselist
WHERE dept
LIKE '%{$choice}%'
ORDER BY sortname ASC", $linkid);
echo"<table>";
while ($row = mysql_fetch_row($resultid))
{
echo"<tr>";
foreach ($row as $field)
{
echo"<td>$field</td>";
}
echo"</tr>";
}
echo"</table>";
mysql_close($linkid);
}
?>
我已經嘗試了幾天 - 我可以做的GET爲了建立鏈接時,用戶做出選擇,沒有問題,但我不知道如何使一組數據庫在頁面加載時出現而不是所有的數據庫。使用表單中的選定屬性可以讓用戶輕鬆點擊Go來獲取該部門的數據庫,但直到單擊Go時,整個列表纔會顯示在頁面上。抱歉! – user1766841
您是否刪除了「提交」驗證? 「if(isset($ _ POST ['submit']))」這是停止查詢在請求上執行的唯一點。如果你刪除它,並有鏈接,如mypage.com/index.php?choice=Biology,生物學集將只出現。 –