下拉列表设置从数据库中选择的值

Posted

技术标签:

【中文标题】下拉列表设置从数据库中选择的值【英文标题】:Dropdown list set put selected value from database 【发布时间】:2016-07-03 11:41:21 【问题描述】:

我正在尝试创建一个下拉菜单,用于选择存储在数据库中的值。现在,代码创建了一个下拉列表,其中第一个选项被选中。我已经阅读了几个教程,并尝试应用它们,但我无法让它工作。我希望有人可以提供帮助。

<div class="form-group">
    <label>Up-to-Date</label>
    <select class="form-control" name="uptodate"/>
        <option value="Ja">Ja</option>
        <option value="Nee">Nee</option>
    </select>
</div>

完整代码:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include("../includes/connect.php");

if (isset($_SESSION['logged_in'])) 
	if(isset($_POST['btnSlaOp'])) 
		$id=$_POST['id'];
		$uitgeleend=$_POST['uitgeleend'];
		$nr=$_POST['nr'];
		$model=$_POST['model'];
		$serienummer=$_POST['serienummer'];
		$capaciteit=$_POST['capaciteit'];
		$uptodate=$_POST['uptodate'];
		$persoon=$_POST['persoon'];
		$datumuitgeleend=$_POST['datumuitgeleend'];
		$datumretour=$_POST['datumretour'];
		$opmerking=$_POST['opmerking'];
		$sql="UPDATE ipads SET uitgeleend='$uitgeleend', nr='$nr', model='$model', serienummer='$serienummer', capaciteit='$capaciteit', uptodate='$uptodate', persoon='$persoon', datumuitgeleend='$datumuitgeleend', datumretour='$datumretour', opmerking='$opmerking' WHERE id='$id'";
		$result=$db->query($sql);
		header("location:overzicht-ipads.php");
	 else if (isset($_POST['btnSlaOpInGs'])) 
		$id=$_POST['id'];
		$uitgeleend=$_POST['uitgeleend'];
		$nr=$_POST['nr'];
		$model=$_POST['model'];
		$serienummer=$_POST['serienummer'];
		$capaciteit=$_POST['capaciteit'];
		$uptodate=$_POST['uptodate'];
		$persoon=$_POST['persoon'];
		$datumuitgeleend=$_POST['datumuitgeleend'];
		$datumretour=$_POST['datumretour'];
		$opmerking=$_POST['opmerking'];
		$sql  ="UPDATE ipads SET nr='$nr', model='$model', serienummer='$serienummer', capaciteit='$capaciteit', uptodate='$uptodate', persoon='$persoon', datumuitgeleend='$datumuitgeleend', datumretour='$datumretour', opmerking='$opmerking' WHERE id='$id'";
		$sql .="INSERT INTO geschiedenis (SELECT * FROM ipads WHERE id='$id')";
		$sql .="UPDATE ipads SET uitgeleend='Nee', persoon='', datumuitgeleend='', datumretour='', opmerking='' WHERE id='$id'";
		$result=mysqli_multi_query($db, $sql);
		header("location:overzicht-ipads.php");
	
	if(isset($_GET['id'])) 
		$id=$_GET['id'];
		$sql="SELECT id, uitgeleend, nr, model, serienummer, capaciteit, uptodate, persoon, datumuitgeleend, datumretour, opmerking FROM ipads WHERE id='$id'";
		$result=$db->query($sql);
		$rij=$result->fetch_assoc();
		$uitgeleend=$rij['uitgeleend'];
		$nr=$rij['nr'];
		$model=$rij['model'];
		$serienummer=$rij['serienummer'];
		$capaciteit=$rij['capaciteit'];
		$uptodate=$rij['uptodate'];
		$persoon=$rij['persoon'];
		$datumuitgeleend=$rij['datumuitgeleend'];
		$datumretour=$rij['datumretour'];
		$opmerking=$rij['opmerking'];
		
		include("../includes/get_header_wn.php");
?>
            <h1 class="page-title">Wijzigen</h1>
                    <ul class="breadcrumb">
            <li><a href="index.php">Home</a> </li>
            <li class="active">Leen iPad <?php echo $nr ?></li>
        </ul>

        </div>

<form id="gegevensForm" class="col-xs-4" form method="POST" action="overzicht-ipads-edit.php">
	<input type="hidden" name="id" value="<?php echo $id?>">
    <div class="form-group">
        <label>Uitgeleend</label>
        <input type="text" class="form-control" name="uitgeleend" value="<?php echo $uitgeleend ?>" />
    </div>

    <div class="form-group">
        <label>Nr</label>
        <input type="text" class="form-control" name="nr" value="<?php echo $nr ?>" />
    </div>

    <div class="form-group">
        <label>Model</label>
        <input type="text" class="form-control" name="model" value="<?php echo $model ?>" />
    </div>

    <div class="form-group">
        <label>Serienummer</label>
        <input type="text" class="form-control" name="serienummer" value="<?php echo $serienummer ?>" />
    </div>
    
	<div class="form-group">
        <label>Capaciteit</label>
		 <input type="text" class="form-control" name="capaciteit" value="<?php echo $capaciteit ?>" />
    </div>
   
    <div class="form-group">
        <label>Up-to-Date</label>
        <select class="form-control" name="uptodate"/>
		<option value="Ja">Ja</option>
		<option value="Nee">Nee</option>
		</select>
    </div>

	<div class="form-group">
        <label>Persoon</label>
        <input type="text" class="form-control" name="persoon" value="<?php echo $persoon ?>" />
    </div>
	
	<div class="form-group">
        <label>Datum uitgeleend</label>
        <input type="text" id="datepicker" class="form-control" name="datumuitgeleend" value="<?php echo $datumuitgeleend ?>" />
    </div>
	
	<div class="form-group">
        <label>Datum retour</label>
        <input type="text" id="datepicker1" class="form-control" name="datumretour" value="<?php echo $datumretour ?>" />
    </div>
	
	<div class="form-group">
		<label for="comment">Opmerking</label>
		<textarea class="form-control" rows="5" id="comment" name="opmerking" /><?php echo $opmerking ?></textarea>
	</div>

    <button class="btn btn-primary pull-right" name="btnSlaOp" input type="submit"><i class="fa fa-save"></i> Opslaan</button>
	
    <a href="overzicht-ipads.php"><input type="button" name="btnCancel" value="Annuleer" class="btn btn-primary pull-left"></a>
	
	<button class="btn btn-primary pull-middle" name="btnSlaOpInGs" type="submit"><i class="fa fa-save"></i> Opslaan & Archiveren</button>
	
    <?php
		include('../includes/get_footer.php');
	?>
</form>

<?php
			
			 else 
			header("location:overzicht-ipads.php");
			
		?>

【问题讨论】:

您如何从数据库中检索值?获得价值后,您可以使用$('select.form-control').val(databaseValue); 我还在学习中,我把整个代码放在上面了。如何在我的代码中应用它? 【参考方案1】:

php:if($selectedVal == "yourVal") echo "selected";

例如:

<div class="form-group">
    <label>Up-to-Date</label>
    <select class="form-control" name="uptodate"/>
        <option value="Ja" <?php if($selectedVal == "Ja") echo "selected";?>>Ja</option>
        <option value="Nee" <?php if($selectedVal == "Nee") echo "selected";?>>Nee</option>
    </select>
</div>

编辑:在您的情况下,将 $selectedVal 替换为 $uptodate

【讨论】:

以上是关于下拉列表设置从数据库中选择的值的主要内容,如果未能解决你的问题,请参考以下文章

下拉列表内容怎么设置?

如何从数组中动态设置下拉列表的值

根据下拉列表中选择的值设置 datetimepicker 格式

从下拉列表中选择数据时,从 MYSQL 数据库中设置输入字段值属性

Vuejs 根据从下拉列表中选择的值显示其他输入字段

AngularJS:加载下拉列表从模型中选择