Вывод с помощью select в php

Очень часто разработчикам сайтов приходится сталкиваться с организацией выбора каких-либо наименований в форме. В принципе ничего сверхъестественного в этом быть не может — достаточно использовать обычный тэг <select>. Я тоже считал, что всё здесь достаточно ясно и прозрачно. Однако недавно разрабатывая небольшой интранет-ресурс я столкнулся с неожиданной проблемкой, решать которую пришлось быстро. Делюсь своим опытом да и себе любимому на память записываю.

Основная проблема связана с тем, что вывод select мне приходилось делать через конструкцию print <<<EOT. И вот тут вот меня и поджидала сложность. Простой select работать правильно отказывался напрочь. Как быть? Решение было найдено такое (с помощью форумов и собственной головы) — строку для выборки формировать отдельно в цикле foreach и потом уже вставлять её в тэг select.

Получилось примерно так:

$cat = $this->get_product (); Функция просто выводит содержимое выборки из базы данных либо даже массива.

             foreach ($cat as $k => $v)

{

$str.='<option value="' . $k .'">' . $v . '</option>';

} — собственно цикл для формирования строк

А теперь вывожу тэг select:

 

print <<<EOT
<form align = 'center' action="« method=»post" enctype="multipart/form-data" name="form_s">
<p>
<label>Выборка:<br></label>
<select name = «cat»>
echo '$str;'
</select>
</p>
.

.
</form>

EOT;

Всё прекрасно работает. Спасибо за внимание.

Назад Вперед

Написать комментарий