PHP 5 для начинающих |
Страница 189 из 813 Затем создается выпадающий список, содержащий пять пунктов, соответствующих пяти оценкам от A до F. Для хранения оценок создается массив $math, который PHP сможет передать следующему сценарию: echo"<td><select name='math[]'> <option>A</option> <option>B</option> <option>C</option> <option>D</option> <option>F</option> </select>"; Значение для второй части сценария передается через скрытое поле формы, которое имеет то же имя, что и массив с именами студентов. Чтобы указать, что данный элемент управления должен быть массивом, к его имени добавляются квадратные скобки. Для каждого студента передается имя элемента управления, а затем цикл завершается:echo"<input type='hidden' name='student[]' value='$name'></td>"; } После цикла вставляется кнопка отправки запроса и форма закрывается: ?> </tr> <tr><td> </td><td> <input type="submit" value="Показать оценки"> </td></tr> </form> </table> Вторая часть программы получает данные из формы. Эта часть состоит из цикла, сортировки и еще одного цикла. Первый цикл используется для связи двух массивов, полученных из формы. Это делается путем конкатенации оценки и имени студента и сохранения результата в новом массиве $gradestudent:<hr> <table border="1"> <tr><td colspan="2"> Оценки по математике расположены в следующем порядке: </td></tr> <?php while (list($index,$value)=each($_POST['math'])) { $gradestudent[]=$_POST['math'][$index].$_POST['student'][$index]; } Из кода первой части сценария известно, что значение элемента с определенным индексом в массиве $math связано со значением элемента с таким же индексом в массиве $student. Поэтому конкатенация представляет собой верный способ объединения связанных значений из каждого массива. Результирующий массив $gradestudent содержит следующие данные: САльберт Эйнштейн FИван Грозный ВНаполеон DСаймон Боливар АИсаак Ньютон Теперь необходимо соответствующим образом отсортировать массив $gradestudent:asort($gradestudent); |
Пришла зима. Чтобы наслаждаться проектирование системы отопления коттеджа нужно доверить экспертам.