У меня есть несколько раскрывающихся ящиков, и я пытаюсь сохранить выбранные значения в базе данных mysql и все одним нажатием кнопки. Количество выпадающих списков определяется пользователем. У меня есть функция jquery, которая генерирует нужное количество выпадающих меню для отображения. Как упоминалось ранее, я пытаюсь сохранить выбранные значения каждого раскрывающегося списка. Каждый со своей собственной строкой и уникальным идентификатором. Запрос, который у меня есть, вообще ничего не хранит. SITEХранить несколько выпадающих выбранных значений в mysql db
Jquery генерировать количество выпадающих
<script>
$(document).ready(function() {
$('select').change(function() {
var option = $(this).val();
showFields(option);
return false;
});
function showFields(option){
var content = '';
for (var i = 1; i <= option; i++){
content += '<div id="course_'+i+'"><label>Course # '+i+'</label><br /><label>Course Name:</label> <select id="coursename_'+i+'" name="coursename_'+i+'"><option value="">--- Select ---</option>"'
<?php
$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$course_query = "SELECT course_id, course_name FROM courses ";
if($result = mysqli_query($mysqli, $course_query)) {
while ($idresult = mysqli_fetch_row($result))
{
//dropdown values pulled from database
$course_id = $idresult[0];
$course_name = $idresult[1];
echo 'content += \'<option value="' . $course_id . '">' . $course_name . '</option>\';';
}
}
?>
'"';
content += '</select><br /><div><br />';
}
$('#course_catalog').html(content);
}
});
</script>
PHP Вставьте
<?php
if(isset($_POST['submit'])){
$coursename = $_POST["coursename"];
$courseid = $_POST["courseid"];
$db_con = new mysqli(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$db_insert4 = "INSERT INTO courses_bridge (course_name, course_id) VALUES ('$coursename', '$courseid')";
mysqli_query($db_con, $db_insert4);
}
?>
HTML
<form action="index.php" method="post">
Courses being offered?
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<div id="course_catalog"></div>
</br>
<input value="SAVE" type="submit">
</form>
В заявлении вставки вы пытались с помощью '"».' вместо '' 'вокруг переменных ..? –
Во-первых, ваша форма никогда не будет отправляться, потому что вы используете 'if (isset ($ _ POST ['submit']))', и он будет искать кнопку с именем 'named' submit, которую ваш еще не назвал. –
@ Fred-ii Wow очень глупая ошибка с моей стороны, я потратил впустую часы и часы, считая это –