联系官方销售客服
1835022288
028-61286886
自定义字段的阅读收费,系统默认是购买一次之后记录购买状态,下次访问不再收费。
我这里想改成每次访问都需要收费,找出了购买的处理代码在diy/branch/fdb/D_module中,数据表是‘当前模块’_buy,我增加了一个字段叫readtime,然后实现了购买之后字段+1,阅读之后字段-1;
问题1:但是开始的if判断不知道该怎么写,或者说是不知道如何获得数据表里面的readtime字段
问题2:readtime字段更改的时候,数据表所有的记录都变更了,如何指定当前的uid与当前文章update readtime这个字段?
if (!$data['is_buy'] //积分购买的时候,判断如果没有购买记录则判断登录、检查积分
&& $this->input->get('action') == 'confirm') {
// 会员未登录
!$this->member && $this->msg(fc_lang('会话超时,请重新登录'));
// 积分检查
-$data['score'] + $this->member['score'] < 0 && $this->msg(fc_lang(SITE_SCORE.'不足!本次需要%s'.SITE_SCORE.',当前余额%s'.SITE_SCORE, $data['score'], $this->member['score']));
// 扣减积分
$this->member_model->update_score(1, $this->uid, -$data['score'], '', '购买《'.($data['name'] ? $data['name'] : $data['title']).'》');
// 记录购买历史
$insert = array( //生成数据数组
'uid' => $this->uid,
'url' => $data['url'],
'score' => $data['score'],
'readtime' => $data['readtime']+1,
'thumb' => $data['preview'] ? $data['preview'] : ($data['thumb'] ? $data['thumb'] : ''),
'inputtime' => SYS_TIME
);
if ($id) {
$insert['cid'] = $id;
$insert['title'] = $data['title'];
} else {
$insert['eid'] = $eid;
$insert['cid'] = $data['cid'];
$insert['title'] = ($data['ctitle'] ? $data['ctitle'].' - ' : '').$data['name'];
}
$this->db->insert($table, $insert); //这里记录购买情况,需要增加一个次数字段
$this->msg(fc_lang('购买成功'), $data['url'], 1);
} else {
/////////////////////////////////阅读之后减去可用次数////////////////////////////////
$update = array(
'uid' => $this->uid,
'url' => $data['url'],
'score' => $data['score'],
'readtime' => 0,
'thumb' => $data['preview'] ? $data['preview'] : ($data['thumb'] ? $data['thumb'] : ''),
'inputtime' => SYS_TIME
);
if ($id) {
$update['cid'] = $id;
$update['title'] = $data['title'];
} else {
$update['eid'] = $eid;
$update['cid'] = $data['cid'];
$update['title'] = ($data['ctitle'] ? $data['ctitle'].' - ' : '').$data['name'];
}
$this->db->update($table, $update); //这里记录购买情况,需要增加一个次数字段
///////////////////////////////////////减去可读次数/////////////////////////////////////
$this->template->assign($data);
ob_start();
$this->template->display($tpl);
$html = ob_get_contents();
ob_clean();
echo $this->input->get('callback', TRUE).'('.json_encode(array('html' => $html)).')';exit;
}
}
【陈涛】1楼
购买成功之加上