У меня есть динамическое выпадающее меню, которое является триггером функции jquery. Я показываю выпадающие значения из mysql db. Впоследствии я пытаюсь вставить выбранные значения из выпадающих меню. Я смог сделать это успешно через mysqli_
, но при использовании PDO
ничего не вставлено. Я дважды проверял переменные, и ошибки не отображаются. Как вставить выбранные значения из выпадающих меню с помощью PDO
? ExampleDropdown - Вставить выбранные значения - метод pdo не работает
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
$course_query = $db_con->prepare("SELECT course_id, course_name FROM courses_selection_list ");
$course_query->execute();
$data = $course_query->fetchAll();
foreach ($data as $row){
//dropdown values pulled from database
echo 'content += \'<option value="' . $row['course_id'] . ':'.$row['course_name'].'">' . $row['course_name'] . '</option>\';';
}
?>
'"';
content += '</select></br>Class Start Date: <input type="text" id="start_date_'+i+'" name="start_date_'+i+'" class="datepicker" />Class End Date: <input type="text" id="end_date_'+i+'" name="end_date_'+i+'" class="datepicker" /><div>';
}
$('#course_catalog').html(content);
}
});
</script>
PDO Вставьте (Doesnt работы)
<?php
if(isset($_POST['submit'])){
$courses_offered=$_POST['courses_offered'];
$db_con = new PDO($dsn, $user, $password);
for($i=1;$i<=$courses_offered;$i++){
$course_vals = explode(':',$_POST["coursename_".$i]);
$acad_id = $_POST['acad_id'];
$start_date = $_POST["start_date_".$i];
$end_date = $_POST["end_date_".$i];
$query_init3 = "INSERT INTO courses_by_academy (academy_id, course_id, course_name, start_date, end_date) VALUES (:acad_id, :course_vals[0],:course_vals[1],:start_date,:end_date);";
$query_prep3 = $db_con->prepare($query_init3);
$insert_result3 = $query_prep3->execute(array(
"acad_id" => $acad_id,
"course_vals[0]" => $course_vals[0],
"course_vals[1]" => $course_vals[1],
"start_date " => $start_date,
"end_date " => $end_date
));
}
print_r($_POST);
}
?>
Mysqli Вставка (работы)
<?php
if(isset($_POST['submit'])){
$courses_offered=$_POST['courses_offered'];
$db_con = new mysqli(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
for($i=1;$i<=$courses_offered;$i++)
{
$courseVals=explode(':',$_POST["coursename_".$i]);
$acad_id = $_POST['acad_id'];
$start_date = $_POST["start_date_".$i];
$end_date = $_POST["end_date_".$i];
$db_insert4= $db_con->prepare("INSERT INTO courses_by_academy (academy_id, course_id, course_name, start_date, end_date) VALUES (?,?,?,?,?)");
$db_insert4->bind_param('issss', $_POST['acad_id'], $courseVals[0], $courseVals[1], $start_date, $end_date);
$db_insert4->execute();
}
print_r($_POST);
echo $courseVals;
}
?>
HTML
Courses being offered?
<select name="courses_offered">
<option value="default">---Select---</option>
<option value="1">1</option>
</select>
<div id="course_catalog"></div>
<input value="SAVE" name="submit" type="submit">
Вам не нужно связывать значение запроса перед его выполнением? – AdRock
Бит новый для PDO my, попробуйте заменить держателей мест с: course_vals [0] ,: course_vals [1] до: course_vals_one,: course_vals_two. – Fredd