Я создал раскрывающееся меню, чтобы выбрать таблицу, а затем другое раскрывающееся меню, которое заполняется данными из одного столбца выбранной таблицы. В настоящее время, когда я впервые загружаю страницу, я получаю сообщение об ошибке, так как в моем раскрывающемся списке ничего не выбрано, поэтому индекс freqtype
не определен. Когда я выбираю что-то, все работает хорошо, за исключением того, что мой выбор не сохраняется в Dropbox. Есть ли способ в PHP для достижения этого в рамках одного скрипта. Я подумал, возможно, используя инструкцию if для начальной формы, поэтому нижний раскрывающийся список не заполняется до тех пор, пока верх не будет выбран, но я не могу заставить код работать. Любая помощь будет принята с благодарностью.Поддерживайте выделение и не отправляйте до тех пор, пока не будет выбран Selection - 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
Просто понял, что хотя страница работает очень хорошо, когда я впервые загружаю страницу, потому что исходное выпадающее меню еще не представлено, переменная не определена. Есть ли способ, чтобы форма представляла первую пустую запись при загрузке страницы? – Hux
Имя переменной '@' перед именем подавляет уведомление «Неопределенная переменная», если у вас есть те, которые включены. Более элегантный способ добавил бы это перед вашей формой HTML: '$ table = isset ($ _ POST ['freqtype'])? $ _POST ['freqtype']: null; 'затем заменяет' $ _POST ['freqtype'] 'на' $ table ['freqtype'] 'в обоих' if's. – lafor