Jump to content
  • 0

как сохранить выбранное в select значение при повторном обращении на сервер


bgraf
 Share

Question

Добрый день !

У меня есть маленький поисковичек , при выборе значения в поле select я перестраиваю страницу относительно выбора но при этом хотелось бы сохранить выбранное пользователем значение . как это можно сделать

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0
Добрый день !

У меня есть маленький поисковичек , при выборе значения в поле select я перестраиваю страницу относительно выбора но при этом хотелось бы сохранить выбранное пользователем значение . как это можно сделать

хз... куки?

Link to comment
Share on other sites

  • 0

В случае, если вы используете PHP, то в зависимости от ваших задач вы можете использовать сессии, куки, скрытые формы, параметры в урле. Наверняка какой-то вариант вам подойдет.

Edited by freelancecoder
Link to comment
Share on other sites

  • 0

<input type="hidden" name="what_select" value="<? $_POST["what_select"]?>" />
<select class="input_style" name="what_select" id="what_select" style="width:400px; height:20px">
<option value="0">Выбирете то что вы ищете</option>
<option value="1">Гостинницы</option>

пишу в php

с hidden попробывал не работает а с куки то по суте тоже самое в чем разница

помогите правильно написать , мне кажется я просто что то не так пишу

Link to comment
Share on other sites

  • 0
нельзя давать двум элементам формы - одинаковые имена

я наверно не правильно понял , но мне кажется что hiddn имеет тоже самое имя потому что именно в нем я сохраняю то что выбрал , если не прав то напишите как правильно

Link to comment
Share on other sites

  • 0
<input type="hidden" name="what_select" value="<? $_POST["what_select"]?>" />
<select class="input_style" name="what_select" id="what_select" style="width:400px; height:20px">
<option value="0">Выбирете то что вы ищете</option>
<option value="1">Гостинницы</option>

пишу в php

с hidden попробывал не работает а с куки то по суте тоже самое в чем разница

Интересно, и как броузер поймет, что значение в hidden-поле означает выбор в селекте?!

Если у вас в переменной php сохраняется что-то, что идентифицирует выбранный пункт, то простое условие и атрибут selected поможет его выделить.

<option selected value="1">Гостинницы</option>

Читайте мануалы.

Link to comment
Share on other sites

  • 0
Интересно, и как броузер поймет, что значение в hidden-поле означает выбор в селекте?!

Если у вас в переменной php сохраняется что-то, что идентифицирует выбранный пункт, то простое условие и атрибут selected поможет его выделить.

<option selected value="1">Гостинницы</option>

Читайте мануалы.

спасибо !

Да я понимаю что бред написал и причем тут selected . мне динамически надо при повторном обращении к серверу в option сохранить то что было выбрано .

Я пршу всех не рассматривать мой ответ как оскарбление , вовсе нет , просто прошу не отвечать загадками а просто обьяснить подробно как мне решить эту задачу или пример дать , если у вас нет время , это тоже понятно . Что такое куки сессии и все остальное я знаю не давайте мне ссылки на книги , просто покажите как с помощью этого можно решить мою задачу . уверен что тут есть люди которые уже сталкивались с этим и есть пример .

Спасибо всем !!!

Link to comment
Share on other sites

  • 0
спасибо !

Да я понимаю что бред написал и причем тут selected . мне динамически надо при повторном обращении к серверу в option сохранить то что было выбрано .

Я пршу всех не рассматривать мой ответ как оскарбление , вовсе нет , просто прошу не отвечать загадками а просто обьяснить подробно как мне решить эту задачу или пример дать , если у вас нет время , это тоже понятно . Что такое куки сессии и все остальное я знаю не давайте мне ссылки на книги , просто покажите как с помощью этого можно решить мою задачу . уверен что тут есть люди которые уже сталкивались с этим и есть пример .

Спасибо всем !!!

Повторная загрузка формы у вас происходит ведь после отправки данных? Если да, значит по всей видимости в $_POST["what_select"] есть значение выбранного опшина. Так?

Link to comment
Share on other sites

  • 0
Если у вас в $_POST есть значение, то в чем проблема? Без кук и сессий тогда можно. Читайте моё предыдущее сообщение.

вот условие а как прописать внутри не могу добиться ;)

<? if($_POST["what_select"] != '')

{

print"<option selected value=".$_POST["what_select"].">".$_POST["what_select"]."</option>";

}

?>

Повторная загрузка формы у вас происходит ведь после отправки данных? Если да, значит по всей видимости в $_POST["what_select"] есть значение выбранного опшина. Так?

так

Я могу прописать 58 проверок или кейсов но слишком муторно может есть более красивое решение чем проверка каждого опшена

Link to comment
Share on other sites

  • 0

Спасибо огромное всем !

Самое хорошее решение принимать данные из базы данных и при помощи php строить селект использую сессию .

используя одну схему а то и вообще написать класс , можно убить одним ударом все селекты встречающиеся в последствии .

Еще раз всем спасибо !!!

И с наступающим новым годом !!!

Link to comment
Share on other sites

  • 0

На днях столкнулся с таким же вопросом, но задачу я поставил немного серьезнее. Есть у меня код на вывод учебного расписания, допустим на понедельник:

Скрытый текст



$predmet_q = mysqli_query($connection, "SELECT * FROM `articles_categories`");
  $predmet = array();
	  while($para = mysqli_fetch_assoc($predmet_q) )
	  {
	    $predmet[] = $para;
	  }


	$day = array('Понедельник', 'Вторник' );


  $monday1 = htmlspecialchars($_POST["monday1"], ENT_COMPAT, 'cp1251');
?>

<p><?= $day[0];  ?><br>
1) <?= $monday1; ?><br>
</p>
<div id="monday">
		<label for="monday">Понедельник:</label>
		<p>1) <select id="1" name="monday1" value="<?php echo @$data['para1']; ?>>
			<option selected="selected" value="<?php echo @$data['para1']; ?>">Название пары</option>
			<?php foreach ($predmet as $para )
	          {
			?>
			    <option><?= $para['title']; ?></option>

			<? } ?><option> - </option>
			</select>
		</p>
</div>


 

Всё работает отлично, всё выводится. Но при разрыве сессии всё сбрасывается. Как сделать так, что бы выведеный результат не сбрасывался?

Edited by Kegarri
Hide
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy