2012-05-14 5 views
0

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

Пример, чтобы быть более понятным.

--- Выберите ---

--- Apple, ---

--- Banana ---

Если они выбрали банан и щелкнул заполните, когда страница перезагружается иметь полевой банан уже выбран. Вот код ниже. После 45 минут борьбы с «Ошибка анализа: синтаксическая ошибка, неожиданная». Я готов рвать на себе волосы, так что я надеюсь, что вы, ребята, можете протянуть руку.

echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? .'" selected=':'>$"'.$row['free'].'"</option>'; 

Благодаря

+0

Вы можете показать, html для вашего окна выбора после его загрузки? –

ответ

0
echo '<option value="' . $row['free'] . '"' . ($free == $row['free'] ? ' selected="selected"' : '') . '>' . $row['free'] . '</option>'; 

Это должно работать :)

+0

благодарит за работу как шарм. – st0rm

1
echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? /*.*/ '" selected=':'>$"'.$row['free'].'"</option>'; 

Просто прокомментировал это так что вы можете это видеть.

+0

спасибо миллиону :) – st0rm

0

Я бы посоветовал вам упростить ваш синтакс и сделать его читаемым в первую очередь.

$selected = ''; 
if($free==$row['free']){ $selected=' selected'; } 

echo "<option value='{$row['free']}'{$selected}>{$row['free']}</option>"; 
1

давайте предположим, что у вас есть выберите элемент в виде

<form action="" method="post"> 
     <select name ="fruits"> 
       <option value="apple">Apple</option> 
       <option value="banana">Banana</option> 
       <option value="orange">Oranges</option> 
       <option value="mango">Mangoes</option> 
     </select> 
     <input type="submit" name="submit"/> 
</form> 

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

<?php 
//This will check if form is submitted then fetch the value from select element else assign null 
$value = isset($_POST['submit']) ? $_POST['fruits'] : NULL; 
?> 

и изменить все <option> к

<option value="apple" <?php echo ($value == 'apple') ? 'selected' : ''; ?>>Apple</option> 
<option value="banana" <?php echo ($value == 'banana') ? 'selected' : ''; ?>>Banana</option> 
<option value="orange" <?php echo ($value == 'orange') ? 'selected' : ''; ?>>Oranges</option> 
<option value="mango" <?php echo ($value == 'mango') ? 'selected' : ''; ?>>Mangoes</option> 
0

Не знаю, как эта строка попала в такой беспорядок .... это понятнее (в моем opionion), если вы уроните из режима PHP если вы 're rendering HTML ... следующим образом:

?> 
<option value="<?php echo $row['free']; ?>" <?php if($free == $row['free']) echo 'selected="selected"'; ?>><?php echo $row['free']; ?></option> 
<?php 
Смежные вопросы