0

ActiveRecordのヘルプはほとんど必要ありません。データベースに保存しているページビューを更新しようとしています。post()関数を実行するたびに、+1を追加します。これが私のコードです:

  public function post($id) {
 if($id == NULL){
 redirect('blog');
  }

 else{

 $this->db->where('entry_id',$id);
 $this->db->set('views','views+1');
 $this->db->update('entry');

助けてください!

4

2 に答える 2

0

たとえば、次のようにコードを修正します。

public function post($id) {
 if(!isset($id) || (int) $id<=0){
 header('Location: /blog');
  }

 else{

 $this->db->where('entry_id',$id);
 $this->db->set('views','views+1');
 $this->db->update('entry');
}

マークheader('Location: /blog')-ブログへの実際のサーバーパスをここに入力する必要があります。のようなカスタムリダイレクト関数を使用するredirect()場合は、彼女を呼び出す前に、が出力であるかどうかを確認してください。ヘッダーリダイレクトは、呼び出す前に他の出力がブラウザーに送信されない場合にのみ機能します。

于 2012-09-28T07:23:45.653 に答える
0
  public function post($id) {
 if($id == NULL){
 redirect('blog');
 }

 else{

 $this->db->where('entry_id',$id);
 $this->db->set('views','views+1',FALSE);
 $this->db->update('entry');

FALSEは、アクティブレコードのエスケープをオフにします。デフォルトでは、+1は無視されます。

于 2012-09-28T07:39:41.213 に答える