Я просто изучаю Mysql/PHP, и у меня есть некоторые проблемы с моим выпадающим списком.Элементы списка Dropdownlist исчезают, когда я нажимаю submit, когда значение уже находится в DB
Проблема: Когда я нахожусь в Sumbit, будет запущен запрос и проверьте, имеется ли вставленный номер. Когда вставленный номер доступен, он вставляет некоторые значения в БД. Иначе, когда номер уже сделан, он покажет ошибку. Когда это произойдет, мой dropdownlist внезапно пуст, см. Снимок экрана ниже!
Что я хочу: Когда я отправляю, я все равно хочу, чтобы сообщение об ошибке отображалось всякий раз, когда номер уже был взят, а также чтобы сохранить свой раскрывающийся список неповрежденным.
Надеюсь, кто-то может помочь!
Код:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include("/includes/connect.php");
if(isset($_SESSION['logged_in'])) {
\t \t $sql="SELECT id,model FROM `ipad-model`";
\t \t $stmt = $db->prepare($sql);
\t \t $stmt->execute();
\t \t $result = $stmt->fetchAll();
\t
\t if(isset($_POST['btnAdd'])) {
\t \t $errMsg = '';
\t \t $nr=$_POST['nr'];
\t \t $sql2="SELECT * FROM ipad WHERE nr=$nr";
\t \t $stmt = $db->prepare($sql2);
\t \t $stmt->execute();
\t \t $result = $stmt->fetchAll();
\t \t \t if($result == 0) {
\t \t \t \t $nr=$_POST['nr'];
\t \t \t \t $model=$_POST['model'];
\t \t \t \t $serienummer=$_POST['serienummer'];
\t \t \t \t $capaciteit=$_POST['capaciteit'];
\t \t \t \t $uptodate=$_POST['uptodate'];
\t \t \t \t $sql="INSERT INTO ipads(uitgeleend,nr,model,serienummer,capaciteit,uptodate) VALUES ('Nee','$nr','$model','$serienummer','$capaciteit', '$uptodate')";
\t \t \t \t $result=$db->query($sql);
\t \t \t \t header("location:index.php");
\t \t \t } else {
\t \t \t \t $errMsg = 'Nummer is al in gebruik!';
\t \t \t }
\t }
\t include("/includes/get_header.php");
?>
<h1 class="page-title">Nieuwe iPad toevoegen</h1>
<ul class="breadcrumb">
<li><a href="index.php">Home</a> </li>
<li class="active">Nieuwe iPad</li>
</ul>
</div>
<form id="gegevensForm1" class="col-xs-4" form method="POST" action="ipad-toevoegen.php">
<div class="form-group">
<label>Nr</label>
<input type="text" class="form-control" name="nr" />
\t \t <?php
\t \t \t if(isset($errMsg)){
\t \t \t \t echo '<div style="color:#FF0000;text-align:center;font-size:12px;">'.$errMsg.'</div>';
\t \t \t }
\t \t ?>
</div>
<div class="form-group">
<label>Model</label>
\t \t \t <select class="form-control" name="model">
\t \t \t \t <?php foreach($result as $row): ?>
\t \t \t \t <option value="<?= $row['model']; ?>"><?= $row['model']; ?></option>
\t \t \t \t <?php endforeach; ?>
\t \t \t </select>
\t \t <p class="text-right"><a href="ipad-model.php">Bewerken</a></p>
</div>
<div class="form-group">
<label>Serienummer</label>
\t \t \t <input type="text" class="form-control" name="serienummer" />
</div>
<div class="form-group">
<label>Capaciteit</label>
\t \t <select class="form-control" name="capaciteit">
\t \t \t <option value="16 GB">16 GB</option>
\t \t \t <option value="32 GB">32 GB</option>
\t \t \t <option value="64 GB">64 GB</option>
\t \t \t <option value="128 GB">128 GB</option>
\t \t </select>
</div>
<div class="form-group">
<label>Up-To-Date</label>
\t \t <select class="form-control" name="uptodate">
\t \t \t <option value="Ja">Ja</option>
\t \t \t <option value="Nee">Nee</option>
\t \t </select>
</div>
<button class="btn btn-primary pull-right" name="btnAdd" type="submit"><i class="fa fa-save"></i> Opslaan</button>
<a href="index.php"><input type="button" name="btnCancel" value="Annuleer" class="btn btn-primary pull-left"></a>
<?php
\t \t include('../includes/get_footer.php');
\t ?>
</form>
<?php
} else header("location: index.php")
?>
Скриншоты:
Вы должны написать код вместо скриншотов, вам нужно говорить больше о том, что код, который вы используете – techblu3
Это возможно дублирование http://stackoverflow.com/questions/2246227/keep-values- selected-after-form-submission –