2016-07-09 1 views
-2

이메일을 삽입하는 뉴스 레터 양식이 PHP 테이블에 있었지만 이메일이 이미 있으면 데이터베이스 테이블 및 프롬프트에 중복 항목을 추가하지 않습니다 ("이미 있음").이메일이 이미 존재하는 경우 테이블에 데이터를 입력하지 말고 프롬프트를 표시하십시오 (이미 있습니다!)

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Newsletter extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('stories_model'); 
    } 
    public function index() 
    { 
     $this->load->view('header'); 
     $this->load->view('navigation'); 
     $this->load->view('pages/newsletter'); 
     $this->load->view('footer'); 
    } 
    public function register() 
    { 
     $email = $this->input->post('email'); 

     $arr['result'] = 'confirm'; 
     $arr['message'] = '<ul>'; 


     if (strlen($email) == 0) { 
      $arr['result'] = 'error'; 
      $arr['message'] .= '<li>Please fill the email.</li>'; 
     } 

     if ($arr['result'] != 'error') 
     { 
      $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 

      $arr['result'] = 'confirm'; 
      $arr['message'] = 'Successfull Added.'; 
     } 
     echo json_encode($arr); 
    } 
    public function cronjob() 
    { 
     $data['stories'] = $this->newsletter_model->get_stories($email); 
     $data['emails'] = $this->newsletter_model->get_emails_subscribers(); 
    } 

} 
+0

당신이 할 필요가 단순히 경우 다른 contition의를 사용할 수 있습니다 친절하게 아래에있는 내 코드를 수정. 이 코드를 쓸어 버리셨습니까? –

답변

0

당신은 get_where

 if ($arr['result'] != 'error') 
     { 
      if(!$this->db->get_where('newsletter_subscribers', array('email' => $email), 0, 0)) { 
      $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 

      $arr['result'] = 'confirm'; 
      $arr['message'] = 'Successful Added.'; 

      } else { 

      $arr['result'] = 'error'; 
      $arr['message'] = 'Already Added.'; 

      } 

     } 
0
<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Newsletter extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('stories_model'); 
    } 
    public function index() 
    { 
     $this->load->view('header'); 
     $this->load->view('navigation'); 
     $this->load->view('pages/newsletter'); 
     $this->load->view('footer'); 
    } 
    public function register() 
    { 
     $email = $this->input->post('email'); 

     $arr['result'] = 'confirm'; 
     $arr['message'] = '<ul>'; 


     if (strlen($email) == 0) { 
      $arr['result'] = 'error'; 
      $arr['message'] .= '<li>Please fill the email.</li>'; 
     } 

     if ($arr['result'] != 'error') 
     { 
      $getEmails = $this->db->get_where('newsletter_subscribers', array('email' => $email) 
      $countEmails = $getEmails->num_rows(); 
      if($countEmails < 1) 
      { 
       $insertcomment=$this->db->insert('newsletter_subscribers',array('email'=>$email)); 
       $arr['result'] = 'confirm'; 
       $arr['message'] = 'Successfull Added.'; 
      } 
      else 
      { 
       $arr['result'] = 'error'; 
       $arr['message'] = 'Email Already Exist.'; 
      } 

     } 
     echo json_encode($arr); 
    } 
    public function cronjob() 
    { 
     $data['stories'] = $this->newsletter_model->get_stories($email); 
     $data['emails'] = $this->newsletter_model->get_emails_subscribers(); 
    } 

} 
+0

OP와 다른 이들이 앞으로이 질문을 발견 할 때 맹목적으로 코드를 복사/붙여 넣을뿐만 아니라 무언가를 배우게하기 위해 수행 한 작업과 작동 방식을 설명해주십시오. –

+0

헤이 형제 나는 새로운 사용자를 위해서 이해할 수있는 주어진 쿼리의 행을 계산했습니다. –

+0

IS는 여전히 작동하지 않습니다. –

관련 문제