выводит переменные в тег value
элементов формы. Если вы отправите весь свой код, я уверен, что смогу вам помочь.
UPDATE
ах, значит, это выпадающие списки, которые нужно запомнить, что было выбрано? Извиняюсь, я вчера спешно прочитал ваш пост и подумал, что это форма с текстовым вводом.
Я сам сделал то же самое, но, не пробуя твой код, дай мне посмотреть, смогу ли я помочь.
В основном вам нужно установить одно значение в раскрывающемся списке на selected="selected"
Когда я должен был это сделать, мои выпадающие значения были в массиве, например:
$options = array( "stack", "overflow", "some", "random", "words");
// then you will take your GET variable:
$key = array_search($_GET['variablename'], $options);
// so this is saying find the index in the array of the value I just told you
// then you can set the value of the dropdown to this index of the array:
$selectedoption = $options[$key];
Это может привести к путанице, так как мой код отличается, поэтому, если вы хотите его использовать, вам, вероятно, потребуется немного реструктурировать
У меня есть функция doSelect
, которой я передаю следующие параметры:
// what we are passing is: name of select, size, the array of values to use and the
// value we want to use as the default selected value
doSelect("select_name", 1, $options, $selectedoption, "");
// these are the two functions I have:
// this one just processes each value in the array as a select option which is either
// the selected value or just a 'normal' select value
FUNCTION doOptions($options, $selected)
{
foreach ($options as $option)
{
if ($option == $selected)
echo ("<option title=\"$title\" id=\"$value\" selected>$option</option>\n");
else
echo ("<option title=\"$title\" id=\"$value\">$option</option>\n");
}
}
// this is the function that controls everything - it takes your parameters and calls
// the above function
FUNCTION doSelect($name, $size, $options, $selected, $extra)
{
echo("<select class=\"\" id=\"$name\" name=\"$name\" size=\"$size\" $extra>\n");
doOptions($options, $selected);
echo("</select>\n");
}
Я знаю, что на вас было брошено много нового кода, но если вы можете получить выбранные значения из базы данных в массив, тогда все остальное должно хорошо встать на свои места.
Единственное, что я хотел бы добавить, это в начале, где мы вызываем doSelect
, я бы поместил это в оператор if
, потому что вы не хотите устанавливать что-то как выбранное, которое не было установлено:
if (isset($_GET['variable']))
{
$key = array_search($_GET['variablename'], $options);
$selectedoption = $options[$key];
doSelect("select_name", 1, $options, $selectedoption, "");
}
else
{
doSelect("select_name", 1, $options, "", "");
}
Надеюсь, это поможет!