我正在更新下拉选项字段。但是当我选择“关闭”选项时,会出现一个包含当前日期的文本框字段。 以下是代码:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$('#status').change(function () {
if (this.value == "Close") {
$('#Other').show();
} else {
$('#Other').hide();
}
});
});
</script>
</head>
<body>
<form action="status2.php" method="post">
Status
<select id="status" name="status" value="<?=$row['status']?>">
<option>Choose</option>
<option value="Open">Open</option>
<option value="Inprocess">Inprocess</option>
<option value="Close">Close</option>
</select>
<table>
<tr id="Other" style="display: none">
<td>
<!-- <input id="txtOthers" type="text" /> -->
<label>Lead Close Date : <input type="text" name="lead_close" value="<?php $b = time ();
print date("d-m-y",$b) ;
?> " ><br />
</td>
</tr>
</table>
<br/>
<input type="submit" value="Update" name="submit">
</form>
</body>
</html>
以上代码完美无缺。 但是当我更新记录时,甚至隐藏文本框(lead_close)也会更新。它必须仅在选择关闭选项时才更新,只有状态为“打开”或“进程”必须更新。 以下是我的更新代码:
<?php
$konek = mysql_connect("localhost","root","") or die("Cannot connect to server");
mysql_select_db("test",$konek) or die("Cannot connect to the database");
$status= ($_POST['status'])?$_POST['status']:'';
$lead_close= ($_POST['lead_close'])?$_POST['lead_close']:'';
mysql_query("update public set status='".$status."', lead_close='".$lead_close."' where id='1'");
?>
我不知道我错过了哪里。 只需要在我的代码中进行一些修正。 提前谢谢。
答案 0 :(得分:0)
update语句需要if语句以确保它仅适用于Close选项。
if ($status == 'Close')
mysql_query("update public set status='".$status."', lead_close='".$lead_close."' where id='1'");