【发布时间】:2016-07-02 09:12:21
【问题描述】:
我刚刚学习 Mysql/PHP,我正在尝试从下拉列表中的选定值更新 mysql 记录。我已经阅读了几个教程,并尝试应用它们,但我无法让它工作......
我想要什么:我有一个从 mysql 数据库中获取值的下拉列表(唯一 ID、编号、型号、序列号、容量)。我想从下拉菜单中更新选定的值。下拉菜单中的每个值都有一个唯一 ID。
问题:当我点击提交时,它什么也没做。当我将 SQL 查询从 WHERE id='$id'" 更改为 WHERE id=23 时,它将使用 id 23 更新记录。所以它与此有关。
我知道我的代码很乱,但稍后会清理。 我的代码:ipad-uitlenen.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
include("../includes/connect.php");
if(isset($_SESSION['logged_in'])){
$sql="SELECT id, nr, model, serienummer, capaciteit FROM ipads WHERE uitgeleend='Nee' ORDER BY nr";
$result1 = mysqli_query($db, $sql);
if(isset($_POST['btnAdd'])) {
$id=$_REQUEST['id'];
$persoon=$_POST['persoon'];
$datumuitgeleend=$_POST['datumuitgeleend'];
$datumretour=$_POST['datumretour'];
$opmerking=$_POST['opmerking'];
$sql="UPDATE ipads SET uitgeleend='Ja', persoon='$persoon', datumuitgeleend='$datumuitgeleend', datumretour='$datumretour', opmerking='$opmerking' WHERE id='$id'";
$result=$db->query($sql);
header("location:overzicht-ipads.php");
}
include("../includes/get_header_wn.php");
?>
<h1 class="page-title">iPad uitlenen</h1>
<ul class="breadcrumb">
<li><a href="index.php">Home</a> </li>
<li class="active">Nieuw</li>
</ul>
</div>
<form id="gegevensForm" class="col-xs-4" form method="POST" action="ipad-uitlenen.php">
<div class="form-group">
<select name="id">
<?php while ($row1 = mysqli_fetch_array($result1)):;?>
<option value="<?php echo $id?>"><?php echo $row1[1];?> / <?php echo $row1[3];?> / <?php echo $row1[2];?> / <?php echo $row1[4];?></option>
<?php endwhile;?>
</select>
</div>
<div class="form-group">
<label>Persoon</label>
<input type="text" class="form-control" name="persoon" value="" />
</div>
<div class="form-group">
<label>Datum uitgeleend</label>
<input type="text" id="datepicker" class="form-control" name="datumuitgeleend" value="" />
</div>
<div class="form-group">
<label>Datum retour</label>
<input type="text" id="datepicker1" class="form-control" name="datumretour" value="" />
</div>
<div class="form-group">
<label for="comment">Opmerking</label>
<textarea class="form-control" rows="5" id="comment" name="opmerking"></textarea>
</div>
<button class="btn btn-primary pull-right" name="btnAdd" 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>
<?php
include('../includes/get_footer.php');
?>
</form>
<?php
}
?>
Connect.php
<?php
try {
$db = mysqli_connect("localhost", "root", "", "i3a");
}
catch(PDOException $e){
echo $e->getMessage();
die();
}
//PDO(database:localhost:3307;dbnaam, root, wachtwoord)
?>
【问题讨论】:
-
如果在更新查询中写 WHERE id=$id 而不是 WHERE id='$id' 会发生什么
-
在运行 SQL 查询之前,您是否尝试过回显 $id 值?
-
你在 echo $id=$_POST['id']; 中获得了什么价值?
-
@Niklesh 我试过了,但没有用。我在哪里放置 echo $id=$_POST['id']; ???
标签: javascript php jquery mysql drop-down-menu