2011-06-10 2 views
0

나는 항목 3 개의 배열을 2 개의 MySql 테이블에 삽입하는 방법은 무엇입니까?

$id= array(1, 2, 3, 4, 5); 
$fruit= array('apple', 'banana', 'ananas', 'orange', 'lemon'); 
$price= array(32, 54, 26, 97, 47); 

같은 수의 3 개 간단한 배열 내가 두 MySQL의 테이블을 가지고 있습니다. 'id'와 'name'행을 포함하는 첫 번째 테이블 'fruits'와 'fruit'및 'price'행을 포함하는 두 번째 테이블 'prices'.

'fruits'테이블에서 $ id 및 $ fruit 배열의 항목을 삽입해야합니다. $ id의 항목은 'id'행에 들어가고 $ ​​fruit의 항목은 동일한 ID 번호를 가진 행이없는 경우 'name'행에 god해야합니다. 또한 배열 $ id $ price에서 'items'테이블에 모든 항목을 삽입해야합니다. 이전 표와 마찬가지로 array $ id의 항목을 'fruit'행에 배치하고 array $ price의 항목을 'price'행에 배치해야합니다.

도움 주셔서 감사합니다.

+0

'apple','banana'와 같은 문자열을 사용하지 마십시오. 매우 나쁜 습관입니다. '사과', '바나나'를 사용하십시오. – kapa

답변

6
$id= array(1, 2, 3, 4, 5); 
$fruit= array('apple', 'banana', 'ananas', 'orange', 'lemon'); 
$price= array(32, 54, 26, 97, 47); 


foreach($fruit as $key => $fruitName) 
    { 
    $query = ' 
     INSERT INTO fruits (id, name) 
     VALUES ('.$id[$key].', '.$fruit[$key].') 
     '; 
    // execute 
    $query = ' 
     INSERT INTO prices (id, price) 
     VALUES ('.$id[$key].', '.$price[$key].') 
     '; 
    // execute 
    } 

여기에 입력 [키 등의 존재 여부]를 확인하라고 요청하지 마세요. 이것은 아마도 도움이되는 빠른 스 니펫입니다. ;]

BTW. 하나의 테이블 과일 (이드, 이름, 가격)이 있다면 훨씬 더 좋을 것입니다. ]

1

사용 array_combine() 두 개의 새로운 배열을 만들 :

  • $fruit
  • 하나는이 두 가지 연관 배열의 각을 통해 $price

루프와 $id을 결합하여 $id를 조합 한, 및 삽입 당신의 기록.