При нажатии на ссылку открывается определенный option в select'e

Armando

Новичок
Вот HTML код например:
PHP:
<form>
    <select id="select">
                  <option value="red" id="1">Красный
                  <option value="green" id="2">Зеленый
                  <option value="blue" id="3">Синий
                  <option value="yellow" id="4">Желтый
     </select> 
     <input type="submit" value="Отправить цвет" name="submit" />
</form>
и есть 4 внешние ссылки не на этой странице,то есть -
PHP:
<a href="forma.php">Выбери желтый цвет</a> <br /> 
<a href="forma.php">Или синий</a>
..и т.д. Можно сделать так, чтобы при нажатии определенной ссылки, переходя на страницу в списке уже автоматом выбирался тот цвет, который был нажат? Спасибо)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Можно, просто в ссылке надо написать id твоих цветов, то есть

PHP:
<a href="forma.php?id=4">Выбери желтый цвет</a> <br /> 
<a href="forma.php?id=3">Или синий</a>
А в форме вставить условие, что если есть $_GET['id'] и оно равно нужному значению, то сделать <echo 'selected';>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Armando
Вводить ссылку можно и руками. Но сам подумай, откуда PHP узнает, что надо выделить? Надо ему написать об этом, верно? Потому пишешь условие, где ты проверяешь парметр id в каждом option.

PHP:
<option value="red" id="1" <?if(!empty($_GET['id']) && ...)?>>Красный</option> # теги иногда надо все же закрывать ... =)
 

Armando

Новичок
PHP:
 <option value="red"
                  <? 
				  if (isset($_GET['red'])){
					echo 'selected="selected"'; 
				  }
				  ?>
                  >Красный
                  <option value="green"
                   <? 
				  if (isset($_GET['green'])){
					echo 'selected="selected"'; 
				  }
				  ?>
                  >Зеленый
Я вот так написал...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Можно конечно и так)))
 

WMix

герр M:)ller
Партнер клуба
по секрету
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
 

keltanas

marty cats
Я вот так написал...
С китайским кодом бывает много проблем. Дроны лучше ;)
PHP:
<?php
$trans = ['red' => 'Красный', 'green' => 'Зеленый'];
foreach (['red', 'green'] as $color) {
    printf('<option value="%s"%s>%s</option>', $color, isset($_GET[$color]) ? ' selected="selected"' : '', $trans[$color]);
}
 
Сверху