我是php的新手。我正在使用以下代码开发表单:
<td>Severity:</td>
<td>
<?php $dbc = mysql_connect('localhost', 'root', ''); // root connection
mysql_select_db('ticket', $dbc); // db selection
$query = "SELECT id, severity FROM severity" ; // retrieving value from table severity in db
$result = mysql_query($query, $dbc); //
echo'<select name="sever">';
echo '<option value="Default"> Please Select Severity </option>';
while($row = mysql_fetch_assoc( $result ))
{
echo '<option value="'.$row['id'].'">' . $row['severity'] . '</option>';
}
echo '</select>';
?>
</td>
在数据库中,我创建了3个严重性级别,其值如下:
表严重性(ID,严重性,小时)值 (1,'严重','12'), (2,'Major','24'),(3,'Minor','36');
我有一个日期函数
<td> Expected Completed Date: </td>
<td> <input name="exc_date" style="width:150px" type="text" /> </td>
一旦我选择严重性,我希望根据严重程度的选择自动生成预期的完成日期。
关于如何在预期的完成日期的表单中生成php代码,我有点模棱两可。
请帮助我,并提前感谢您的建议。
答案 0 :(得分:1)
使用data-hours
属性输出每个选项的小时数:
echo '<option data-hours="'.$row['hours'].'" value="'.$row['id'].'">' . $row['severity'] . '</option>';
同时提供<select>
和ID server
,然后使用Javascript进行更改:
window.onload = function(){
document.getElementById("server").onchange = function(){
var timeObj = document.getElementById("exc_date");
if(this.value != 'Default'){
var hours = this.options[this.selectedIndex].getAttribute('data-hours');
var now = new Date();
now.setHours(now.getHours() + (hours*1));
var nowStr = now.getDate() + "/" + (now.getMonth()+1) + "/" + now.getFullYear();
timeObj.value = hours + " hours, " + nowStr;
} else {
timeObj.value = '';
}
};
};
这会将ID为exc_date
的元素更新为小时数。
答案 1 :(得分:0)
将PHP部分更改为此
<td>Severity:</td>
<td>
<?php $dbc = mysql_connect('localhost', 'root', ''); // root connection
mysql_select_db('ticket', $dbc); // db selection
$query = "SELECT id, severity, hours FROM severity" ; // retrieving value from table severity in db
$result = mysql_query($query, $dbc); //
echo'<select name="sever">';
echo '<option value="Default"> Please Select Severity </option>';
while($row = mysql_fetch_assoc( $result ))
{
echo '<option value="'.$row['id'].'" data-hours="'.$row['hours'].'">'
. $row['severity'] . '</option>';
}
echo '</select>';
?>
</td>
添加JavaScript - http://jsfiddle.net/8YCwb/。