Форум программистов, компьютерный форум, киберфорум
PHP: Фреймворки
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
2 / 2 / 4
Регистрация: 08.08.2015
Сообщений: 35

Шаблонизатор Twig, вариант передачи атрибута selected в список HTML

13.03.2016, 16:01. Показов 1580. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал функции для Twig
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function get_poisk_v_baze($table_name, $col_name, $nomer_stroki_perebora)     {
$result_baza = mysql_query("select $col_name from $table_name where id= $nomer_stroki_perebora");
$row_baza = mysql_fetch_assoc($result_baza);
$res_poiska =$row_baza[$col_name];  
return $res_poiska;
}
 
 
function get_poisk_v_spiske_ID($table_name, $col_name, $result_poiska_v_baze)  {
 
$result = mysql_query("SELECT * FROM $table_name WHERE $col_name LIKE '$result_poiska_v_baze'");
$row = mysql_fetch_row($result);
$res = $row[0];
return $res; 
}   
 
function get_vyborka($table_name, $col_name, $nomer_stroki_perebora, $result_poiska_v_baze_ID)     {
 
$result = mysql_query("SELECT * FROM $table_name");
if (!$result){
exit(mysql_error());
}
if(mysql_num_rows($result) == 0) {
exit('НЕТ ДАННЫХ');
}
$row = array();
$row_selected = array();
for($i = 0; $i < mysql_num_rows($result); $i++) {
$row[] = mysql_fetch_array($result,MYSQL_ASSOC);
 
    if ($i == $result_poiska_v_baze_ID) {
    $_selected = "selected"; }
    else {
    $_selected = '';}
    $row[$i]['pole_selected']=$_selected;
}
//print_r($row);
return $row;
}
соответственно значения передаются в шаблон HTML
HTML5
1
2
3
{%for row in USLUGA_PO_LOTU%}
<option {{row.pole_selected}} value='{{row.id}}'>{{row.USLUGA_PO_LOTU}}</option>
{%endfor%}
1 и 2 функции - поиск значения и ID в БД. 3 функция - запрос списка из другой таблицы БД.
Вопрос по 3 функции.
Код работает, но интересно - существует ли более изящный вариант передачи атрибута selected в список?
Плиз, скиньте код, если не жалко. Если еще и с комментариями (чего,куда,как), буду премного благодарен (в php я ноль).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.03.2016, 16:01
Ответы с готовыми решениями:

Цикл for, шаблонизатор twig
Пытаюсь вывести список таблиц из БД. После запроса, массив имеет такой вид Array ( =&gt; Array ( ...

Шаблонизатор TWIG
Подскажите, как осуществить поиск замену, в тексте, применением регулярных выражений. В данной конструкции {{...

Как прописать selected=selected? Список select возвращается в начальное положение
Здравствуйте. У меня возникла такая проблема. Вывожу список пользователю с помощью ajax и javascript, но когда нажимаю кнопку F5, то список...

1
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
13.03.2016, 19:13
alex3111, проверка на selected должна быть в самом шаблоне. php код, который работает с базой, не должен знать как вывести html.
В html будет примерно так:
HTML5
1
2
3
{%for row in USLUGA_PO_LOTU%}
<option {% if row.selected %}selected{% endif %} value='{{row.id}}'>{{row.USLUGA_PO_LOTU}}</option>
{%endfor%}
По идеи даже row.selected надо по другому назвать по задаче...просто я хз какое у вас условие, поэтому не смог норм название придумать.

Вообще, до изящности тут ооочень далеко. Почитайте про оформление кода, про SOLID, MVC, ООП итд...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2016, 19:13
Помогаю со студенческими работами здесь

Шаблонизатор, в html подставить php
Привет. Как сделать такое: index.php &lt;?php $a = 10; echo $a; ?&gt; index.html &lt;titl&gt;{$A из index.php}&lt;/titl&gt; ...

Свойство HTML SELECTED
&lt;option selected value=&quot;t4&quot;&gt;МЫШКА МУРУШКА&lt;/option&gt; Что-то не могу понять что делает свойство selected? Прочитал здесь...

Получение данных Selected(html)
У нас есть select &lt;select name=&quot;musicType&quot;&gt; &lt;c:forEach items=&quot;${musicTypes}&quot; var=&quot;musType&quot;&gt; &lt;option...

Как отменить Checked \ Selected CheckBox из самого события на Selected в Listener
В самом событии - Листенере надо отменить установку галки. Чтобы не зациклилось надо установить без вызова опять этого листенера. Как? ...

Парсинг HTML, определить значение атрибута [value]
Добрый день уважаемые форумчане. Помогите мне решить одну очень простую задачу. Этот скрипт выдает результат показанный ниже. &lt;?php...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru