Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2020, 01:58   #1
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Лампочка как установить в select selected

Здравствуйте! когда данные беру из XML - select не прыгает, и остается на выбранном значение
Код:
if ($_POST['cityeng'] == $vals[ob]) $selected = 'selected';
echo  "<option value=\"" . $vals[ob] . "\" " . $selected . ">" . $vals . "</option>";
но кода текст берется из простого текстового файла значение select прыгает и не останавливается на выбранном значение. как можно зафиксировать выбранное значение ? Спасибо!
Пример на XML
Код:
<?php 
$xml_city = simplexml_load_file("xml/city.xml") or die("Error: Cannot create object");
echo "<form name=sender3 method=post>";
if(!empty($xml_city->city->page))
{
    $agrs = $xml_city->city->page;
    echo "<select  name='cityeng' onchange='this.form.submit()'>";
    foreach ($agrs as $vals)
    {
	$selected = '';
if ($_POST['cityeng'] == $vals[ob]) $selected = 'selected';
echo  "<option value=\"" . $vals[ob] . "\" " . $selected . ">" . $vals . "</option>";
	
}
    echo "</select></form>";
}
if($_POST['cityeng'])
{
$s_city =  substr(htmlspecialchars(trim($_POST['cityeng'])), 0, 100);
}
echo $s_city;
?>
Пример ТХТ Файл -
Код:
<?php
echo "<form name=sender2 method=post>";
echo "<select  name=\"cityeng\" onchange=\"this.form.submit()\">";

foreach(glob('db/city.dat') as $filename)
{
$file_handle = fopen('db/city.dat', "r");
while (!feof($file_handle))
{
    $line = fgets($file_handle);
	echo "<option>$line</option>";
}
fclose($file_handle);
echo "</select></form>";
}
if($_POST['cityeng'])
{
$s_city =  substr(htmlspecialchars(trim($_POST['cityeng'])), 0, 100);
}
echo $s_city;
?>
leon2009sp вне форума Ответить с цитированием
Старый 27.04.2020, 17:47   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

А чего кочевать с форума на форум?
Вам там доходчиво объяснили в чем дело...
ADSoft вне форума Ответить с цитированием
Старый 27.04.2020, 19:48   #3
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Сообщение втсавки

я не могу сообразить как воткнуть туда этот кусок
Код:
<form name="sender2" method="post">
<select  name="cityeng" onsubmit="this.form.submit()">
<?php
foreach(glob('db/city.dat') as $filename) //foreach ($agrs as $vals)
{	
$file_handle = fopen($filename, "r"); // $agrs = $xml_city->city->page;
while (!feof($file_handle))
{
    $line = fgets($file_handle);
$selected = ''; 
if ($_POST['cityeng'] == $line) $selected = 'selected';
echo  "<option" . $selected . ">" . $line . "</option>";
}
fclose($file_handle);
echo "</select></form>";
}
if($_POST['cityeng'])
{
$s_city =  substr(htmlspecialchars(trim($_POST['cityeng'])), 0, 100);
}
echo $s_city;
?>
leon2009sp вне форума Ответить с цитированием
Старый 28.04.2020, 20:21   #4
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Восклицание


Код:
<form method=post>
<select  name=\"cityeng\" id=\"cityeng\" onchange=\"this.form.submit()\">
    <?php
    $massiv [0] = "PHP";
    $massiv [1] = "HTML";
    $massiv [2] = "CSS";
foreach($massiv as $value)
{
$selected = '';
if ($_POST['cityeng'] == $value) $selected = 'selected';
echo  "<option value=\"" . $value . "\" " . $selected . ">" . $value . "</option>";
}
?>
</select></form>
вроде бы получилось!
leon2009sp вне форума Ответить с цитированием
Старый 28.04.2020, 20:25   #5
leon2009sp
Форумчанин
 
Регистрация: 22.12.2015
Сообщений: 119
Печаль не получилось


Код:
<form method=post>
<select  name=\"cityeng\" id=\"cityeng\" onchange=\"this.form.submit()\">
    <?php
$file_handle = fopen("db/city.dat", "r");
while (!feof($file_handle))
{
$line = fgets($file_handle);
foreach($line as $value)
{
$selected = '';
if ($_POST['cityeng'] == $value) $selected = 'selected';
echo  "<option value=\"" . $value . "\" " . $selected . ">" . $value . "</option>";
}
}
?>
</select></form>
leon2009sp вне форума Ответить с цитированием
Старый 29.04.2020, 07:32   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

И не получится бездумно, надо все же понимать что делаешь, ну и предоставить на обозрение файл city.dat

Если там просто построчно данные тогда foreach выкинуть к чертям...
Код:
 <?php
$file_handle = fopen("db/city.dat", "r");
while (!feof($file_handle))
{
$line = fgets($file_handle);
$selected = ($_POST['cityeng'] == $line) ? 'selected' : '';
echo  "<option value='$line' $selected>$line</option>";
}
?>

Последний раз редактировалось ADSoft; 29.04.2020 в 08:17.
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
selected=true для выбраного елемента списка <select> slaventiy_92 JavaScript, Ajax 9 26.08.2013 17:49
надпись Reboot and select proper boot device or insert boot media in selected boot device and press a key что значит Fat0307 Операционные системы общие вопросы 3 11.02.2012 22:48
формы select и selected в конструкции <<<HERE HERE; svo PHP 0 14.10.2011 19:58
Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key Walkman97 Операционные системы общие вопросы 4 04.06.2011 22:27
Форма select и её selected... webber9989 PHP 6 21.06.2010 22:05