2013-05-02 11 views
0

임에 문제가 발생했습니다. 내 코드가 잘못되었습니다. 내가 원하는 건 데이터 복제를 막는 것이다. 이 배열 제출 양식 결과에서 사용자가 이미 이미 종류의 행을 이미 갖고 있다면 테이블에없는 데이터 만 삽입 할 수 있습니다. 현재 코드가 모든 데이터를 삽입하지는 않습니다. 그러나 if else 문을 제거하면 루프 내의 모든 데이터를 삽입 할 수 있습니다.데이터가 중복되지 않는 경우/

if(isset($_POST['submit'])) 
    { 
     $var_emp_id = $_POST["emp_id"]; 
     $var_task_id = $_POST["task_id"]; 
     $var_weight = $_POST['weight']; 
     $submit=$_POST['submit']; 

     for ($i = 0; $i <= count($var_emp_id); $i++) 
     { 
      $sql=mysql_query("SELECT emp_id,task_id FROM peval_tbl WHERE emp_id = '$var_emp_id[$i]' AND task_id = '$task_id[$i]'"); 

      while($row=mysql_fetch_assoc($sql)) 
      { 

       $emp_id = $row['emp_id']; 
       $task_id = $row['task_id']; 

       if ($var_emp_id[$i] == $emp_id && $var_task_id[$i] == $task_id){ 
       mysql_query("INSERT IGNORE INTO peval_tbl(weight,task_id,emp_id)       VALUES('$var_weight[$i]','$var_task_id[$i]','$var_emp_id[$i]')");         

      } 
     else{ 
      error_reporting(E_ALL^E_NOTICE); 

      for ($i = 0; $i <= count($var_emp_id); $i++) 
     { 
     mysql_query("INSERT INTO peval_tbl(weight,task_id,emp_id)       VALUES('$var_weight[$i]','$var_task_id[$i]','$var_emp_id[$i]')"); 

     } 
     } 
     } 
    } 
    } 

답변

0

는 그때 (이 중복에 오류가 발생하지 않도록 무시)로드하는 쿼리를 무시는 INSERT를 사용하여, 고유 한 컬럼 (들)에 테이블에 기본 키를 넣어 제안했다.

관련 문제