Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67424 Members, 783 Products, 5279 Topic, 12953 Comments)

Ada ga yang punya script PHP buat fasilitas export import database

Dibuat
Login Terakhir 3 Bulan lalu,
Telah Dilihat 2290 Kali
Majid nur kholis Mengatakan : Sultan Account
  1. Mohon bantuan suhu master, ada ga yang punya script PHP buat fasilitas export import database, saya punya ribuan data siswa dan guru untuk di import ke Siaselah, mohon bantuan

Ada 3 Jawaban

PHPMU.COM Support
commented on 15 Mei 2017 21:24:35
  1. Assalam, saya pribadi untuk import dan export data guru dan siswa dalam jumlah banyak lebih enak dari phpmyadmin langsung,..
  2. cukup sesuaikan strukturnya dengan table siswa dan guru dan save dalam .csv lalu import dan selesai,..
  3. karena memang untuk import data guru dan siswa biasanya hanya butuh 1 kali saja,
  4. jadi saya rasa tidak perlu terlalu repot dengan menambahkan script import dan export nya disana,.. :)
Ahmad fatony budiman
commented on 17 Mei 2017 13:09:36
  1. Pakai ini gan,
  2.  
  3. <?php
  4. // definisikan koneksi ke database
  5. $server = "localhost";
  6. $username = "root";
  7. $password = "passwordanda";
  8. $database = "databaseanda";
  9.  
  10. // Koneksi dan memilih database di server
  11. mysql_connect($server,$username,$password) or die("Koneksi gagal");
  12. mysql_select_db($database) or die("Database tidak bisa dibuka");
  13. ?>
  14. <body>
  15.  
  16.  
  17. <div class="container">
  18. <?php
  19.  
  20.  
  21.  
  22. $file = $database.'_'.date("DdMY").'_'.time().'.sql';
  23. //membuat nama file
  24.  
  25. ?>
  26.  
  27.  
  28. <script>
  29. function pastikan(text){
  30. confirm('Apakah Anda yakin akan '+text+'?')
  31. }
  32. </script>
  33.  
  34.  
  35.  
  36. <div>
  37. <div class="tabbable">
  38. <ul class="nav nav-tabs" id="myTab">
  39. <li class="active">
  40. <a data-toggle="tab" href="#backup">
  41. <i class="green ace-icon fa fa-cloud-download bigger-120"></i>
  42. Backup
  43. </a>
  44. </li>
  45.  
  46. <li>
  47. <a data-toggle="tab" href="#restore">
  48. <i class="blue ace-icon fa fa-cloud-upload bigger-120"></i>
  49. Restore
  50. </a>
  51. </li>
  52.  
  53. </ul>
  54.  
  55. <div class="tab-content">
  56. <div id="backup" class="tab-pane fade in active">
  57. <form action="" method="post" name="postform" enctype="multipart/form-data" >
  58. <p>
  59. <strong>Backup</strong> semua data yang ada didalam database "<strong><?= $database ?></strong>".</em>
  60. </p>
  61. <div class="asd">
  62. <label for="backup">Backup database</label>
  63. <button id="loading-btn" type="submit" class="btn btn-success" name="backup" onClick="return pastikan('Backup database')">Proses Backup</button>
  64. </div>
  65.  
  66. </form>
  67. </div>
  68.  
  69. <div id="restore" class="tab-pane fade">
  70. <form action="" method="post" name="postform" enctype="multipart/form-data" >
  71. <p>
  72. <strong>Restore</strong> semua data yang ada didalam database "<strong><?= $database ?></strong>".</em>
  73. </p>
  74. <div class="asd">
  75. <label for="backup">File Backup Database (*.sql)</label>
  76. <input type="file" name="datafile" size="20" class="filestyle" data-buttonName="btn-primary"/>
  77. <button type="submit" class="btn btn-primary" name="restore" onClick="return pastikan('Backup database')" data-loading-text="Loading...">Proses Restore</button>
  78. </div>
  79. </form>
  80. </div>
  81.  
  82. </div>
  83. </div>
  84. </div><!-- /.col -->
  85.  
  86.  
  87.  
  88.  
  89. <?php
  90.  
  91. //Download file backup ============================================
  92. if(isset($_GET['nama_file']))
  93. {
  94. $file = $back_dir.$_GET['nama_file'];
  95.  
  96. if (file_exists($file))
  97. {
  98. header('Content-Description: File Transfer');
  99. header('Content-Type: application/octet-stream');
  100. header('Content-Disposition: attachment; filename='.basename($file));
  101. header('Content-Transfer-Encoding: binary');
  102. header('Expires: 0');
  103. header('Cache-Control: private');
  104. header('Pragma: private');
  105. header('Content-Length: ' . filesize($file));
  106. flush();
  107. readfile($file);
  108.  
  109. }
  110. else
  111. {
  112. echo "file {$_GET['nama_file']} sudah tidak ada.";
  113. }
  114.  
  115. }
  116.  
  117. //Backup database =================================================
  118. if(isset($_POST['backup']))
  119. {
  120. backup($file);
  121.  
  122. echo 'Backup database telah selesai <a style="cursor:pointer" href="'.$file.'" title="Download">Download file database</a>';
  123.  
  124. echo "<pre>";
  125. print_r($return);
  126. echo "</pre>";
  127. }
  128. else
  129. {
  130. unset($_POST['backup']);
  131. }
  132.  
  133. //Restore database ================================================
  134. if(isset($_POST['restore']))
  135. {
  136. restore($_FILES['datafile']);
  137.  
  138. echo "<pre>";
  139. print_r($lines);
  140. echo "</pre>";
  141. }
  142. else
  143. {
  144. unset($_POST['restore']);
  145. }
  146.  
  147. ?>
  148.  
  149.  
  150. <?php
  151.  
  152. function restore($file) {
  153. global $rest_dir;
  154.  
  155. $nama_file = $file['name'];
  156. $ukrn_file = $file['size'];
  157. $tmp_file = $file['tmp_name'];
  158.  
  159. if ($nama_file == "")
  160. {
  161. echo "Fatal Error";
  162. }
  163. else
  164. {
  165. $alamatfile = $rest_dir.$nama_file;
  166. $templine = array();
  167.  
  168. if (move_uploaded_file($tmp_file , $alamatfile))
  169. {
  170.  
  171. $templine = '';
  172. $lines = file($alamatfile);
  173.  
  174. foreach ($lines as $line)
  175. {
  176. if (substr($line, 0, 2) == '--' || $line == '')
  177. continue;
  178.  
  179. $templine .= $line;
  180.  
  181. if (substr(trim($line), -1, 1) == ';')
  182. {
  183. mysql_query($templine) or print('Query gagal \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
  184.  
  185. $templine = '';
  186. }
  187. }
  188. echo "<center>Berhasil Restore Database, silahkan di cek.</center>";
  189.  
  190. }else{
  191. echo "Proses upload gagal, kode error = " . $file['error'];
  192. }
  193. }
  194.  
  195. }
  196.  
  197. function backup($nama_file,$tables = '')
  198. {
  199. global $return, $tables, $back_dir, $database ;
  200.  
  201. if($tables == '')
  202. {
  203. $tables = array();
  204. $result = @mysql_list_tables($database);
  205. while($row = @mysql_fetch_row($result))
  206. {
  207. $tables[] = $row[0];
  208. }
  209. }else{
  210. $tables = is_array($tables) ? $tables : explode(',',$tables);
  211. }
  212.  
  213. $return = '';
  214.  
  215. foreach($tables as $table)
  216. {
  217. $result = @mysql_query('SELECT * FROM '.$table);
  218. $num_fields = @mysql_num_fields($result);
  219.  
  220. //menyisipkan query drop table untuk nanti hapus table yang lama
  221. $return .= "DROP TABLE IF EXISTS ".$table.";";
  222. $row2 = @mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
  223. $return .= "\n\n".$row2[1].";\n\n";
  224.  
  225. for ($i = 0; $i < $num_fields; $i++)
  226. {
  227. while($row = @mysql_fetch_row($result))
  228. {
  229. $return.= 'INSERT INTO '.$table.' VALUES(';
  230.  
  231. for($j=0; $j<$num_fields; $j++)
  232. {
  233. $row[$j] = @addslashes($row[$j]);
  234. $row[$j] = @ereg_replace("\n","\\n",$row[$j]);
  235. if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
  236. if ($j<($num_fields-1)) { $return.= ','; }
  237. }
  238. $return.= ");\n";
  239. }
  240. }
  241. $return.="\n\n\n";
  242. }
  243.  
  244. $nama_file;
  245.  
  246. $handle = fopen($back_dir.$nama_file,'w+');
  247. fwrite($handle, $return);
  248. fclose($handle);
  249. }
  250. ?>
  251. </div>
  252.  
  253. <!-- Le javascript
  254. ================================================== -->
  255. <!-- Placed at the end of the document so the pages load faster -->
  256. <script src="assets/js/jquery.js"></script>
  257. <script src="assets/js/bootstrap-transition.js"></script>
  258. <script src="assets/js/bootstrap-alert.js"></script>
  259. <script src="assets/js/bootstrap-modal.js"></script>
  260. <script src="assets/js/bootstrap-dropdown.js"></script>
  261. <script src="assets/js/bootstrap-scrollspy.js"></script>
  262. <script src="assets/js/bootstrap-tab.js"></script>
  263. <script src="assets/js/bootstrap-tooltip.js"></script>
  264. <script src="assets/js/bootstrap-popover.js"></script>
  265. <script src="assets/js/bootstrap-button.js"></script>
  266. <script src="assets/js/bootstrap-collapse.js"></script>
  267. <script src="assets/js/bootstrap-carousel.js"></script>
  268. <script src="assets/js/bootstrap-typeahead.js"></script>
  269. <script src="assets/js/bootstrap-filestyle.js"></script>
  270.  
  271.  
  272. <script src="assets/js/bootstrap.min.js"></script>
  273. <script src="assets/css/easypiechart/jquery.easy-pie-chart.js"></script>
  274.  
  275. <script>
  276. $(function() {
  277. // Easy pie charts
  278. $('.chart').easyPieChart({animate: 1000});
  279. $('.dropdown-toggle').dropdown();
  280. $(":file").filestyle({buttonName: "btn-primary"});
  281. });
  282. </script>
  283.  
  284. </body>
  285. </html>
  286.  
  287.  
Nur jayadi
commented on 27 Feb 2019 15:42:40
  1. Assalam,.. kang Ahmad fatony budiman cara ...mohon petunjuk cara menempatkannya!
  2.  
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!