我遇到了这个模板的障碍。我已经添加了一个下拉列表,显示在一张票上花费的小时数,但它目前没有做任何事情。我希望它在 hours_spent 列下向数据库添加一个条目,但我无法让它运行我的查询。
<?php
global $cfg;
if (!$info['title'])
$info['title'] = 'Change Tickets Status';
?>
<h3><?php echo $info['title']; ?></h3>
<b><a class="close" href="#"><i class="icon-remove-circle"></i></a></b>
<div class="clear"></div>
<hr/>
<?php
if ($info['error']) {
echo sprintf('<p id="msg_error">%s</p>', $info['error']);
} elseif ($info['warn']) {
echo sprintf('<p id="msg_warning">%s</p>', $info['warn']);
} elseif ($info['msg']) {
echo sprintf('<p id="msg_notice">%s</p>', $info['msg']);
} elseif ($info['notice']) {
echo sprintf('<p id="msg_info"><i class="icon-info-sign"></i> %s</p>',
$info['notice']);
}
$action = $info['action'] ?: ('#tickets/status/'. $state);
?>
<div id="ticket-status" style="display:block; margin:5px;">
<form method="post" name="status" id="status"
action="<?php echo $action; ?>">
<table width="100%">
<?php
if ($info['extra']) {
?>
<tbody>
<tr><td colspan="2"><strong><?php echo $info['extra'];
?></strong></td> </tr>
</tbody>
<?php
}
$verb = '';
if ($state) {
$statuses = TicketStatusList::getStatuses(array('states'=>array($state)))->all();
$verb = TicketStateField::getVerb($state);
}
if ($statuses) {
?>
<tbody>
<tr>
<td colspan=2>
<span>
<?php
if (count($statuses) > 1) { ?>
<strong><?php echo __('Status') ?>: </strong>
<select name="status_id">
<?php
foreach ($statuses as $s) {
echo sprintf('<option value="%d" %s>%s</option>',
$s->getId(),
($info['status_id'] == $s->getId())
? 'selected="selected"' : '',
$s->getName()
);
}
?>
</select><br>
/**
Code I've added begins below
**/
<strong><?php echo __('Hours Spent') ?>: </strong>
<select required id="hours_spent" name="hours_spent">
<option value="">How Many?</option>
<<?php for ($i = 1; $i <= 40; $i++) : ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php endfor; ?>
</select>
/**
Code I've added ends above
**/
<font class="error">* <?php echo $errors['status_id']; ?></font>
<?php
} elseif ($statuses[0]) {
echo "<input type='hidden' name='status_id' value={$statuses[0]->getId()} />";
} ?>
</span>
</td>
</tr>
</tbody>
<?php
} ?>
<tbody>
<tr>
<td colspan="2">
<?php
$placeholder = $info['placeholder'] ?: __('Optional reason for status change (internal note)');
?>
<textarea name="comments" id="comments"
cols="50" rows="3" wrap="soft" style="width:100%"
class="richtext ifhtml no-bar"
placeholder="<?php echo $placeholder; ?>"><?php
echo $info['comments']; ?></textarea>
</td>
</tr>
</tbody>
</table>
<hr>
<p class="full-width">
<span class="buttons pull-left">
<input type="reset" value="<?php echo __('Reset'); ?>">
<input type="button" name="cancel" class="close"
value="<?php echo __('Cancel'); ?>">
</span>
<span class="buttons pull-right">
<input type="submit" value="<?php
echo $verb ?: __('Submit');?>">
</span>
</p>
</form>
</div>
<div>
<table>
<tr>
</tr>
</table>
</div>
<div class="clear"></div>
<script type="text/javascript">
$(function() {
// Copy checked tickets to status form.
$('form#tickets input[name="tids[]"]:checkbox:checked')
.each(function() {
$('<input>')
.prop('type', 'hidden')
.attr('name', 'tids[]')
.val($(this).val())
.appendTo('form#status');
});
});
</script>
我的问题是双重的。将用户的输入传递给后端数据库的函数是什么?我怎样才能利用该函数插入我自己的查询以使用 hours_spent 更新数据库?