Skip to content

Instantly share code, notes, and snippets.

@amin007
Created April 12, 2018 00:28
Show Gist options
  • Save amin007/92117e60b0bc3bd4baf0280ca02444e3 to your computer and use it in GitHub Desktop.
Save amin007/92117e60b0bc3bd4baf0280ca02444e3 to your computer and use it in GitHub Desktop.
baca csv dan buat table sql
<?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