[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как из файла вывести построчно значения в input?
Kuzma92
Здравствуйте уважаемые специалисты. Подскажите, пожалуйста, как из txt файла вывести построчно значения в input type=radio ?

Файл txt имеет содержимое в таком порядке:
Red
Green
Blue
и т.д.

У меня есть такой рабочий код, где все значения в настоящий момент указаны прямо в нем:

$wlt=array("","");
if(@$us_list[8]=="Unknown") $wlt[0]='checked';
elseif(@$us_list[8]=="Red") $wlt[1]='checked'; // - это
elseif(@$us_list[8]=="Green") $wlt[2]='checked'; // - это
else $wlt[0]='checked';
echo"
<input name=wlt_n type=radio value=Red
$wlt[1]> <label>Красный</label> // - это
<input name=wlt_n type=radio value=Green
$wlt[2]> <label>Зеленый</label> // - это
<input name=wlt_n type=radio value=Unknown
$wlt[0]> <label>Неизвестен</label>";


Сам txt файл я редактирую через админку. И вот есть задача вывести все значения автоматически (только кроме значения - Unknown) чтобы управлять этим из админки, а не добавлять каждый раз новые значения вручную в коде. Подскажите, пожалуйста, как это сделать правильно.
brevis
$labels = [
"Red" => "Красный",
"Green" => "Зеленый",
"Blue" => "Синий",
//...
];

$checkedValue = "Green";

foreach(file("data.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $value) {
if ($value !== "Unknown") {
$checked = $value === $checkedValue ? " checked=\"checked\"" : "";
$label = $labels[$value] ?? $value;
echo "<input name=\"wlt_n\" type=\"radio\" value=\"$value\"$checked> <label>$label</label>\n";
}
}

https://glot.io/snippets/guviogcn43

_____________
Чатик в телеге
FatCat
brevis
Надо еще, если я правильно понял, внутри сделать цикл по $labels, чтобы по каждой позиции выводилась возможность выбора из 3 цветов. А тот, который в файле, сделать выбранным.

_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
С мобильника затруднюсь писать код, мои извинения, что словесным описанием.

_____________
Бесплатному сыру в дырки не заглядывают...
Kuzma92
brevis
FatCat
я вас приветствую!
Не, не совсем то, мне не нужно подменять значения) Прошу меня простить, вероятно, я вас немного запутал, задав вопрос не совсем некорректно.

$us_list[8] - это строка из файла с данными пользователя. При регистрации по умолчанию эта строка имеет значение "0". Поэтому я в коде и прописываю следующее:

// это:
if(@$us_list[8]=="Unknown") $wlt[0]='checked';
// это:
else $wlt[0]='checked';
// и это:
<input name=wlt_n type=radio value=Unknown $wlt[0]> <label>Неизвестен</label>";

Эти строки должны оставаться.

А вот файл file.txt - это уже совсем другой файл, который содержит разные значения (строка=значение), которые добавляются или удаляются через админку.

Так вот чтобы в коде не прописывать вручную:

// это:
elseif(@$us_list[8]=="Red") $wlt[1]='checked'; // - это
elseif(@$us_list[8]=="Green") $wlt[2]='checked'; // - это
// и это:

<input name=wlt_n type=radio value=Red $wlt[1]> <label>Красный</label> // - это
<input name=wlt_n type=radio value=Green $wlt[2]> <label>Зеленый</label> // - это


а заменив все это одной строкой, т.е. вывести автоматически все имеющиеся значения из файла file.txt, где каждая строка из этого файла будет выводиться через <input type=radio.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.