хранить выпадающие опции в базе данных MySQL, PHP - PullRequest
1 голос
/ 06 мая 2011

Мне нужно сохранить выбранную пользователем опцию, когда она выбрана из моего выпадающего списка, и когда она отправлена ​​в моей форме, сохранить в моей базе данных MYSQL.

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

Раскрывающийся список в моей форме выглядит следующим образом:

  <span> Difficulty: </span> 
   <select>
              <option type="text" name="easy" id="easy" value="easy">easy</option>
              <option type="text" name="comfortable" id="comfortable" value="comfortable">comfortable</option>
              <option type="text" name="hard" id="hard" value="hard">hard</option>
              <option type="text" name="veryhard" id="veryhard" value="veryhard">very hard</option>
              <option type="text" name="hardest" id="hardest" value="hardest">Hardest ride in the world!</option>
            </select>
  </label>

, и я пытаюсь отправить его, используя это:

    $difficulty = mysql_real_escape_string($_POST['difficulty']);

Используя этот запрос:

$query = sprintf("INSERT INTO markers (difficulty) VALUES ('%s')", $difficulty);

Когда моя таблица настроена как INT, 20, разрешить ноль, она хранит 0 в базе данных.и когда я его настраиваю, VARCHAR, 20, разрешить ноль, он сохраняет пустое поле.

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

Ответы [ 4 ]

4 голосов
/ 06 мая 2011
$_POST['difficulty']

Не будет содержать значение, так как SELECT не было присвоено имя. Попробуйте

<select name="difficulty">
2 голосов
/ 06 мая 2011

Ваша проблема в атрибуте имени в HTML. Для тега select должно быть «затруднение», а не для тегов option.

Вам также не нужно type="text", так как в любом случае это значение по умолчанию. Я подозреваю, что вам также не нужны идентификаторы, но, конечно, мы не можем увидеть остальную часть кода, поэтому вы можете использовать их в другом месте.

<span> Difficulty: </span> 
<select name="difficulty">
  <option value="easy">easy</option>
  <option value="comfortable">comfortable</option>
  <option value="hard">hard</option>
  <option value="veryhard">very hard</option>
  <option value="hardest">Hardest ride in the world!</option>
</select>
0 голосов
/ 06 мая 2011
<select name="difficulty">
    <option type="text" id="easy" value="easy">easy</option>
    <option type="text" id="comfortable" value="comfortable">comfortable</option>
    <option type="text" id="hard" value="hard">hard</option>
    <option type="text" id="veryhard" value="veryhard">very hard</option>
    <option type="text" id="hardest" value="hardest">Hardest ride in the world!</option>
</select>

Вы не присваиваете отдельным <option/> тегам атрибут имени.

0 голосов
/ 06 мая 2011

Вам необходимо изменить имя для HTML <select name="difficulty">.И тогда у вас будет в $_POST['difficulty'] выбранное значение.

http://www.w3schools.com/TAGS/tag_Select.asp

...