我在PHP编码 - 我的SQL。我有一个名为tbl_pers的表,其中包含员工的个人详细信息。我有另一个表tbl_group,它有一个分配给每种类型组的编号(每个GpTitle都有一个GpCode)。因此,在tbl_pers表中,保存了与tbl_group中定义的组对应的数字。当我尝试使用php编写的表单更新tbl_pers时,它会更新,但是如果我更新表单而不进行任何更改,它会在tbl_pers表中保存一个空值。我希望它保存最初定义的值。 请帮忙
代码如下,
<!DOCTYPE>
<?php
include("includes/db.php");
if(isset($_GET['urlvar_edit_pers'])){
$get_id=$_GET['urlvar_edit_pers'];
$get_pers="select * from tbl_pers where pNo='$get_id'";
$run_query=mysqli_query($con, $get_pers);
$i=0;
$row_pers=mysqli_fetch_array($run_query);
$pNo=$row_pers['pNo'];
$GpCode=$row_pers['GpCode'];
$get_group="select * from tbl_group where GpCode='$GpCode'";
$run_group=mysqli_query($con, $get_group);
$row_group=mysqli_fetch_array($run_group);
$GpTitle=$row_GpCode['GpTitle'];
$i++;
}
?>
<html>
<div id="page-wrapper">
<h3>Update Pers Record</h3>
<div class="tab-content">
<div class="tab-pane active" id="horizontal-form">
<form action="" class="form-horizontal" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="txt_pNo" class="col-sm-2 control-label">Personal Number</label>
<div class="col-sm-2"><input type="text" name="txt_pNo" class="form-control1" id="txt_pNo" value="<?php echo $pNo;?>" placeholder="Personal Number"></div>
<div class="col-sm-8"><p class="help-block">Enter without any spaces.</p></div>
</div>
<!--Dropdown Dynamic List-->
<div class="form-group">
<label for="sel_GpCode" class="col-sm-2 control-label">Group</label>
<div class="col-sm-2">
<select name="sel_GpCode" id="sel_GpCode" value="<?php echo $GpCode;?> class="form-control1">
<option><?php echo $GpTitle;?></option>
<?php
$get_GpCode="select * from tbl_group";
$run_GpCode=mysqli_query($con, $get_GpCode);
while($row_GpCode=mysqli_fetch_array($run_GpCode)){
$GpCode=$row_GpCode['GpCode'];
$GpTitle=$row_GpCode['GpTitle'];
echo"<option value='$GpCode'>$GpTitle</option>";
}
?>
</select>
</div>
</div>
<div class="bs-example" data-example-id="form-validation-states-with-icons">
<form>
<div class="col-sm-8 col-sm-offset-2">
<button class="btn-success btn" name="btn_update">Submit</button>
</div>
</form>
</div>
</form>
</div>
</div>
</div>
</html>
<?php
if(isset($_POST['btn_update'])){
//getting the text data from the fields
$update_id = $pNo;
$GpCode=$_POST['sel_GpCode'];
$update_pers = "update tbl_pers set GpCode='$GpCode' where pNo='$update_id'";
$run_query = mysqli_query($con, $update_pers);
if($run_query){
echo"<script>alert('Person has been updated.')</script>";
echo"<script>window.open('view_pers.php','_self')</script>";
}
else{
echo"<script>alert('Could not add.')</script>";
}
}
?>
答案 0 :(得分:0)
您必须使用这两个步骤。
对更新查询应用检查。
<option value='$GpCodeloop' <?php if($GpCode==$GpCodeloop){echo "selected='selected'";} ?>selected="selected">$GpTitle</option>
如果(!空($的GpCode)){ $ update_pers =&#34;更新tbl_pers设置GpCode =&#39; $ GpCode&#39;其中pNo =&#39; $ update_id&#39;&#34 ;; $ run_query = mysqli_query($ con,$ update_pers); }