本文整理汇总了PHP中Submission::fetch_one方法的典型用法代码示例。如果您正苦于以下问题:PHP Submission::fetch_one方法的具体用法?PHP Submission::fetch_one怎么用?PHP Submission::fetch_one使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Submission
的用法示例。
在下文中一共展示了Submission::fetch_one方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: last_submission_to
function last_submission_to($entity)
{
if (!$entity->submitable()) {
return false;
}
if ($entity->attribute_bool('keep best')) {
static $query;
DB::prepare_query($query, "SELECT * FROM `user_submission` LEFT JOIN `submission` ON `user_submission`.`submissionid` = `submission`.`submissionid`" . " WHERE `userid`=? AND `entity_path`=?" . " ORDER BY `status` DESC, `time` DESC" . " LIMIT 1");
$query->execute(array($this->userid, $entity->path()));
return Submission::fetch_one($query, '', false);
} else {
static $query;
DB::prepare_query($query, "SELECT * FROM `user_submission` LEFT JOIN `submission` ON `user_submission`.`submissionid` = `submission`.`submissionid`" . " WHERE `userid`=? AND `entity_path`=?" . " ORDER BY `time` DESC" . " LIMIT 1");
$query->execute(array($this->userid, $entity->path()));
return Submission::fetch_one($query, '', false);
}
}
示例2: get_pending_submission
static function get_pending_submission($host)
{
static $query_check, $query_take, $query_fetch;
DB::prepare_query($query_check, "SELECT COUNT(*) FROM `submission`" . " WHERE `status` = " . Status::PENDING . " AND `judge_start` < :old_start");
DB::prepare_query($query_take, "UPDATE `submission` SET `judge_start` = :new_start, `judge_host` = :host" . " WHERE `status` = " . Status::PENDING . " AND `judge_start` < :old_start" . " LIMIT 1");
DB::prepare_query($query_fetch, "SELECT * FROM `submission`" . " WHERE `status` = " . Status::PENDING . " AND `judge_start` = :new_start AND `judge_host` = :host");
// are there pending submissions?
// this step is to make things faster
$params = array();
$params['old_start'] = time() - REJUDGE_TIMEOUT;
$query_check->execute($params);
$num = $query_check->fetchColumn();
DB::check_errors($query_check);
$query_check->closeCursor();
if ($num == 0) {
return false;
}
// if so, take one
$params['new_start'] = time();
$params['host'] = $host;
$query_take->execute($params);
$num = $query_take->rowCount();
DB::check_errors($query_take);
$query_take->closeCursor();
if ($num == 0) {
echo "Submission stolen from under our nose\n";
return false;
}
// and return it
unset($params['old_start']);
$query_fetch->execute($params);
DB::check_errors($query_fetch);
return Submission::fetch_one($query_fetch);
}