我已經創建了一個下拉菜單來選擇表,然後另一個下拉菜單填充選定表的一列中的數據。目前,當我第一次加載頁面時,我收到一條錯誤消息,因爲我的下拉列表中沒有選擇任何內容,所以索引freqtype
未定義。當我選擇一切正常時,除了我的選擇未被保存在保管箱中。在一個腳本中有沒有一種方法可以實現這一點。我想可能使用if語句作爲初始表單,所以底部的下拉列表不會填充,直到頂部被選中,但我無法讓代碼工作。任何幫助將不勝感激。保持下拉選擇,不要提交直到選擇 - PHP/MYSQL
<html>
<head>
<title>Frequency Chart Update</title>
</head>
<body text="#FFFFFF" bgcolor="#000000">
<font size="4">Please Select the Frequency You Wish To Edit.
</font>
<br>
<br>
<?php
echo '<form ENCTYPE=multipart/form-data action=editfreq.php method=post>';
echo '<select name=freqtype onChange=this.form.submit()>';
echo '<option value="empty"> </option>';
echo '<option value="rptfreq">Repeater (Base) Frequencies</option>';
echo '<option value="pltfreq">Pilot Frequencies (VDV Leaky Feeder)</option>';
echo "</select>";
//define variables to be used
$table = $_POST['freqtype'];
//Connect to database
include 'connect.php';
$sql = "SELECT channel FROM $table";
$result = mysql_query($sql);
echo '<form ENCTYPE=multipart/form-data action=editrptfreq.php method=post>';
echo 'Channel ';
echo '<select name=channel>';
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['channel'] . "'>" . $row['channel'] . "</option>";
}
echo "</select>";
echo "<button type=submit>Select</button>
";
echo "</form>";
?>
</body>
</html>
非常感謝您的幫助。這非常出色。 – Hux 2012-07-20 22:16:14
剛剛意識到,儘管頁面工作得很好,當我第一次加載頁面,因爲最初的下拉列表尚未提交,變量是未定義的。有沒有辦法讓表單在頁面加載時提交第一個空白條目? – Hux 2012-07-20 22:31:33
變量名稱前面的「@」可以禁用「未定義變量」通知,如果您打開了這些通知。更優雅的方式是在你的表單HTML之前添加它:'$ table = isset($ _ POST ['freqtype'])? $ _POST ['freqtype']:null;'然後用'$ table ['freqtype']'在兩個if中替換$ _POST ['freqtype']'。 – lafor 2012-07-20 22:38:57