У меня есть это событие onchange на php, если пользователь выбирает вариант, он извлекает данные, которые к нему подключены. Однако страница обновляется, и выбор пользователя исчезает. Кроме того, я не могу вставить данные в базу данных. Я пробовал добавить form method = "post" к атрибуту формы, но, к сожалению, он не может получить данные.
Заранее спасибо.
<?php
$dsn = 'mysql:host=localhost;dbname=admin';
$username = 'root';
$password = '';
try{
// Connect To MySQL Database
$con = new PDO($dsn,$username,$password);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $ex) {
echo 'Not Connected '.$ex->getMessage();
}
$gradeassign = '';
$sectionassign = '';
function getPosts()
{
$posts = array();
$posts[3] = $_POST['sectionassign'];
$posts[4] = $_POST['gradeassign'];
return $posts;
}
if (isset($_POST['addfac']))
{
$data = getPosts();
$insertStmt = $con->prepare('INSERT INTO
facultyagain(sectionnumber,gradelevelassign)
VALUES(:sectionassign,:gradeassign)');
$insertStmt->execute(array(
':sectionassign'=> $data[3],
':gradeassign'=> $data[4],
));
if ($insertStmt)
{
echo 'Data Inserted';
}
}
?>
<html>
<head>
<title>Country</title>
</head>
<body>
<form action = "trial.php">
Select Your grade
<select name = "gradeassign" onchange = "this.form.submit()">
<option value = "" disabled selected>--select--</option>
<option value = "1">Grade 1</option>
<option value = "2">Grade 2</option>
<option value = "europe">Europe</option>
</select>
<?php
require 'connection.php';
if (isset($_GET["gradeassign"])){
$gradeassign=$_GET["gradeassign"];
$sql = "SELECT sectionassign FROM sections WHERE gradeassign='$gradeassign'";
$result = $con->query($sql);
echo "<select>";
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<option value='$row[sectionassign]'>" . $row["sectionassign"]. " </option>";
}
} else { echo "<B>0 Results</B>"; }
echo "</select>";
}
?>
<BR>
<button id = "addfac" name = "addfac">Add Faculty</button>
</form>
</body>
</html>
Подождите, у меня нет опыта в этом. Пожалуйста, помогите мне. Спасибо
Вы можете сохранить данные в сеансе с помощью $_SESSION['session_name'] = $_POST['your_selectbox_name'];, а затем использовать их рядом с параметрами вашего поля выбора, такими как <option value = "value_here" <?php if ($_SESSION['session_name'] == 'value_here'){echo 'selected';}?>>Something's Value</option>






Вы также можете сохранить значение в переменной и проверить, соответствует ли параметр переменной. Например:
<option value = "" disabled>--select--</option>
<option value = "1" <?php if (isset($_GET['gradeassign'])) && $_GET['gradeassign'] == "1") echo "checked"; ?>>Grade 1</option>
<option value = "2" <?php if (isset($_GET['gradeassign'])) && $_GET['gradeassign'] == "2") echo "checked"; ?>>Grade 2</option>
<option value = "europe" <?php if (isset($_GET['gradeassign'])) && $_GET['gradeassign'] == "europe") echo "checked"; ?>>Europe</option>
Лучше всего создать весь список с помощью цикла. Но это должно сработать.
Я думаю, вы можете сохранить данные / выбранную опцию в сеансе или в файле cookie и использовать его.