2017-09-26 2 views
-1

나는 PHP를 사용하여 mysql에서 Excel로 데이터를 가져올 수 있음을 알고 있습니다. 아래의 엑셀 차트에서 봐주십시오Excel에서 행 데이터를 PHP에서 mysql 열로 가져 오기

Excel file

나는 MySQL의 테이블 아래에 데이터를 입력합니다. 엑셀 파일 열에서 D, E, F, G 데이터가 mysql 테이블에 행으로 삽입됩니다 & 열 A, B, C & H는 열로 입력되지만 행의 수를 A, B, C로 따라갑니다 & D

MYSQL TABLE WITH DATA

나는 약간 복잡하다는 것을 느낍니다. 그러나 몇 가지 아이디어를 제공하거나이를 수행하는 방법에 대해 조언 해주십시오. 이런 식으로 진행할 파일이 많기 때문에 Excel 파일을 변경할 수 없습니다.

+0

질문의 상태는 무엇입니까? 하나가 풀린다면 답을 받아 들여서 풀어야한다. 방법을 모른다면, 물어보십시오. 초록색이 될 때까지 대답 옆의 회색 체크 표시를 지우는 것입니다. –

+0

이 코드는 어디에 있습니까? –

답변

0

기본적으로 Excel의 한 행은 MySQL에서 4 행을 삽입/업데이트합니다. PhpSpreadsheet을 사용하면 Excel 파일을 쉽게 반복 할 수 있습니다.

를 들어 삽입에만 :

// Statement prepare 
$DB = new PDO('mysql:host='.$host.';dbname='.$base., $user, $pass); 
$ST = $DB->prepare('insert into table(field1, fiel2, ..) values (:field1, :field2, ..)'); 

// Excel iteration 
while ($Row = $Excel->NextRow()) { 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['D']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['E']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['F']]); 
    $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['G']]); 
} 

동기화 경우 :

// Statement prepare $DB = new PDO('mysql:host='.$host.';dbname='.$base., $user, $pass); // Update statement $ST = $DB->prepare('update table set field2 = :field2 where field1 = :field2 and ..)'); // Excel iteration while ($Row = $Excel->NextRow()) { $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['D']]); $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['E']]); $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['F']]); $ST->execute(['field1' => $Row['A'], .. 'field2' => $Row['G']]); } 

당신이 아이디어를 가지고 희망 pseudo-php-code에서의

논리는 무언가 같이 될 것입니다.

+0

안녕하세요, 귀하의 회신에 감사드립니다. 초보자로서 나를 이해하기에 좀 어려운 완전한 코드/스크립트를 제공해 주시겠습니까? –

+2

복사/붙여 넣기를위한 완벽한 작업 스크립트는 무엇입니까? 나는 자선을 좋아하지 만, 거의 그것을 코드화하지 않습니다. 나는 당신에게 접근 방식을 주었고, 생각하기 시작했습니다. StackOverflow는 무료 코딩 서비스가 아닙니다. – Marcodor

0

코드 아래에 이제 괜찮습니다.

$fft1=888; 
$fft2=777; 
$fft3=""; 
$fft4=999; 

$fft5=100; 
$ctnqty=10; 
$friendslist = "$fft1,$fft2,$fft3,$fft4"; 
$id = $fft5; 
$friendarray = explode(",", $friendslist); 
    $frienduserarray = array(); 

for ($n = 0; $n < count($friendarray); $n++) { 
    $friendidpush = "('".$id."','".$friendarray[$n]."','".$ctnqty."'),"; 
    array_push($frienduserarray, $friendidpush); 
} 
$query = "INSERT INTO freddyhipment (style, orderno,ctnqty) VALUES "; 
$friendarray = explode(",", $friendslist); 

foreach ($friendarray as $order) { 
$query .= "('" . $id . "','" . $order . "','" . $ctnqty . "'),"; 
} 

$query = substr($query, 0, -1); // remove trailing comma 
관련 문제