ดังนี้
<?php
date_default_timezone_set('Asia/Bangkok');
$today=date("Y-m-d_His");
include('../../db_inc.php');
ini_set('display_errors',0); //ปิดแสดง notice
ini_set('memory_limit', '-1'); //ปิดจำกัด memory
ini_set('max_execution_time', '-1'); //ปิดจำกัดเวลาประมวล
set_time_limit(0);
?>
<h3><?= str_repeat(' ', 20);?>The Adi JSON Data Coversion (version 04-05-2564)</h3>
<br>
<?
$sql_tbl = "SHOW TABLES FROM $dbname"; //SHOW Table
$result_tbl = mysql_query($sql_tbl);
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Choose table name
<select name="mytable" >
<option value="" selected> </option>
<?
while ($row_tbl = mysql_fetch_row($result_tbl)) {
echo "<option value='".$row_tbl[0]."'>".$row_tbl[0]."</option>";
}
?>
</select>
<?= str_repeat(' ', 3);?>
<input type="checkbox" name="showonscreen" value="showonscreen">
Show on screen <?= str_repeat(' ', 3);?>
<input type="checkbox" name="createjsonfile" value="createjsonfile">
Create file <?= str_repeat(' ', 3);?>
<input type="submit" name="submit" value="Submit Form">
</form>
<?
mysql_free_result($result_tbl);
////////////////////END FORM//////////////////////////
if(isset($_POST['submit']))
{
//echo "Start data on screen listing...<br><br>";
$mytable = $_POST['mytable'];
$myshow = $_POST['showonscreen'];
$mycreate = $_POST['createjsonfile'];
//echo $myshow; die;
$sql = "SELECT * FROM ".$mytable; //fetch table rows from mysql db
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
$emparray = array(); //create an array
while($row =mysql_fetch_assoc($result))
{
$emparray[] = $row;
}
if($myshow=='showonscreen'){ //display on screen when checked
echo "<br>Start data on screen listing...".$num_rows." records<br><br>";
echo json_encode($emparray, JSON_UNESCAPED_UNICODE); // มี JSON_UNESCAPED_UNICODE เพื่อภาษาไทย
echo "<br><br>End of listing...<br>";
}
mysql_free_result($result);
mysql_close($conn);
}
////////////////END FORM SUBMIT////////////////////
if($mycreate=='createjsonfile'){ //create json file when checked //write to json file
$jpath = 'json_exported/'; //create this folder first by manual
$jfile = $jpath.$mytable."_".$today.".json";
$fp = fopen($jfile, 'w');
fwrite($fp, json_encode($emparray, JSON_UNESCAPED_UNICODE)); // มี JSON_UNESCAPED_UNICODE เพื่อภาษาไทย
fclose($fp);
echo "<br>";
echo "<br>";
echo "<div style='position:absolute;left:10px;top:100px;width:500px;height:20px;'>";
echo "<a href='".$jfile."'>Download JSON file by Right Click</a>";
echo "</div>";
}
?>
หมายเหตุ : ทดสอบแล้วโดยนำไฟล์ที่ได้แล้วน้ำเข้าด้วย MongoDB Compass
ใช้ไฟล์ขนาด 400000+ record เร็วมาก ใช้เวลาเพียง 25 วินาทีเท่านั้น...
ไม่มีความคิดเห็น:
แสดงความคิดเห็น