2013-10-25 2 views
0

mem_count가 2 인 테이블에서 데이터를 반입 한 다음 마지막 unique_id 이후에 다른 테이블에 데이터를 삽입해야합니다.한 테이블의 데이터를 표시 한 다음 해당 데이터를 PHP의 다른 테이블에 삽입하는 방법?

$mem_count2=mysql_query("SELECT mem_count,mem_id FROM member_status WHERE mem_count = 2 order by mem_id ASC"); 

if(mysql_num_rows($mem_count2)==0){ 

     die(mysql_error()); 
    } 
else{ 

      $start_value=00; 
    // $start_value dynamically comes from other table which i am not mentioning here 
     // $start_value can starts from any number For Eg. 2, 5. 

     while ($row=mysql_fetch_array($mem_count2)) { 

     $uniq_code="PHR-" . str_pad((int) $start_value, 2, "0", STR_PAD_LEFT); 


     //if mem_id already inserted then use IGNORE in INSERT i.e INSERT IGNORE 

      $cql = "INSERT IGNORE INTO member_code (mem_id, temp_code,unique_code) values ('".$row['mem_id']."','".$row['mem_count']."','".$uniq_code."')"; 

      mysql_query($cql) or exit(mysql_error()); 

     $start_value++; 

     } 
    } 

그것은 원활하게 실행하지만 때로는 내가이 출력 무엇입니까 :!

+------------+-------------+ 
| mem_id  | unique_code | 
+------------+-------------+ 
| 1   | PHR-01  | 
+------------+-------------+ 
| 5   | PHR-02  | 
+------------+-------------+ 
| 3   | PHR-04  | 
+------------+-------------+ 

일부 문제가 쿼리를 무시 INSERT에 확실히입니다 내가 UNIQUE로 mem_id을 만든 다음

내 코드입니다 . 나는 그것을 완전히 고수하고 있기 때문에 이것을 바로 잡으십시오!

Member_code 구조

+------------+-------------+-----+ 
| mem_id  | unique_code | Id | 
+------------+-------------+-----+ 
| 1   | PHR-01  | 1 | 
+------------+-------------+-----+ 
| 5   | PHR-02  | 5 | 
+------------+-------------+-----+ 
| 3   | PHR-04  | 3 | 
+------------+-------------+-----+ 
+0

경고, mysql_ * 함수는 더 이상 사용되지 않습니다. 앞으로 PDO를 사용하십시오. – Quantastical

+1

나는 그것을 알고 있지만 지금은 이것을 사용하고 싶다! –

+0

괜찮습니다. 그냥 다른 방문자를 위해 지적, 그래서 그들은 PHP의 미래 버전에서 기능이 제거되면 휴식 것이다 당신의 논리를 사용하지 않는 것을 알고. – Quantastical

답변

1

이 라인

mysql_query($cql) or exit(mysql_error());

다음 증가 변수는 다음 삽입을 위해 증가합니다에서 어떤 시점에서 오류가 있기 때문에 그것은 아마. 삽입을 테스트하고 오류가 발생하지 않으면 증분을 수행해야합니다.

+0

미안하지만, 어떤 오류가 발생하지 않습니다. 예를 들어, 고유 ID를 비 직렬화하고 있습니다. PHR-O1, PHR-03, PHR-06 어느 시점에서! –

+0

member_code 테이블 구조를 게시 할 수 있습니까? –

+0

위 테이블 구조를 보여 줬습니다. 너는 이것을 볼 수있다! –

1

$mem_count에 결과가 저장되면 코드 전체에 $mem_count2이라는 변수가 사용됩니다.

+0

네, 맞습니다.하지만 그것이 주된 문제는 아닙니다! 문제는 INSERT IGNORE 또는 while 루프에서 다소 있습니다. –

관련 문제