Created
April 12, 2018 00:28
-
-
Save amin007/92117e60b0bc3bd4baf0280ca02444e3 to your computer and use it in GitHub Desktop.
baca csv dan buat table sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function bukafail($path = 'test.csv', $field = '', $row = 0) | |
{ | |
$myTable = basename($path, '.csv'); | |
if (($handle = fopen($path, 'r')) !== FALSE) | |
{ | |
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) | |
{ | |
$num = count($data); | |
//echo "<p> $num fields in line $row: \n"; | |
$nameFields = ''; | |
$dataFields = ''; | |
for ($c=0; $c < $num; $c++) | |
{ | |
//echo $data[$c] . ",\n"; | |
if($row == 0): | |
$medan[] = $data[$c]; | |
//$nameFields .= $data[$c] . '`,`'; | |
else: | |
$dataFields .= $data[$c] . "','"; | |
endif; | |
} | |
if($row != 0) | |
$datas[$row] = "'" . substr($dataFields,0,-3) . "'"; | |
$row++; | |
//echo '</p>'; | |
} | |
fclose($handle); | |
} | |
return array($myTable, $medan, $datas); | |
} | |
function buatSql($myTable, $medan, $datas) | |
{ | |
//echo '<pre>$medan:'; print_r($medan); echo '</pre>'; | |
//echo '<pre>$field:'; print_r($field); echo '</pre>'; | |
//echo '<pre>$datas:'; print_r($datas); echo '</pre>'; | |
# create sql | |
/*CREATE TABLE Persons ( | |
PersonID int, | |
LastName varchar(255), | |
FirstName varchar(255), | |
Address varchar(255), | |
City varchar(255) | |
);*/ | |
$sql_query = " CREATE TABLE $myTable\r("; | |
$sql_query .= "\r `" . implode("` varchar(255),\r `", $medan) . "` varchar(255)\r"; | |
$sql_query .= "); \r\r"; | |
# insert sql | |
$sql_query .= " INSERT INTO $myTable("; | |
$sql_query .= "`" . implode("`,`", $medan) . "`"; | |
$sql_query .= ") VALUES"; | |
$sql_query .= "\r (" . implode("),\r (", $datas) . ")"; | |
echo '<pre>$sql_query:'; print_r($sql_query); echo '</pre>'; | |
} | |
list($myTable, $medan, $datas) = bukafail($path = 'test.csv', $field = '', $row = 0); | |
buatSql($myTable, $medan, $datas); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment