/farmasi.orig/content/lap_order_qty.php

https://github.com/jonlord1012/srmis · PHP · 135 lines · 59 code · 34 blank · 42 comment · 1 complexity · a3f43ad6cf2dab8cca95086b08fb0935 MD5 · raw file

  1. <?php
  2. // nama file
  3. include "../include/koneksi.php";
  4. $namaFile = "lap_order_qty.xls";
  5. $tgl = date("d/m/Y");
  6. // Function penanda awal file (Begin Of File) Excel
  7. function xlsBOF() {
  8. echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
  9. return;
  10. }
  11. // Function penanda akhir file (End Of File) Excel
  12. function xlsEOF() {
  13. echo pack("ss", 0x0A, 0x00);
  14. return;
  15. }
  16. // Function untuk menulis data (angka) ke cell excel
  17. function xlsWriteNumber($Row, $Col, $Value) {
  18. echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
  19. echo pack("d", $Value);
  20. return;
  21. }
  22. // Function untuk menulis data (text) ke cell excel
  23. function xlsWriteLabel($Row, $Col, $Value ) {
  24. $L = strlen($Value);
  25. echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
  26. echo $Value;
  27. return;
  28. }
  29. // header file excel
  30. header("Pragma: public");
  31. header("Expires: 0");
  32. header("Cache-Control: must-revalidate, post-check=0,
  33. pre-check=0");
  34. header("Content-Type: application/force-download");
  35. header("Content-Type: application/octet-stream");
  36. header("Content-Type: application/download");
  37. // header untuk nama file
  38. header("Content-Disposition: attachment;
  39. filename=".$namaFile."");
  40. header("Content-Transfer-Encoding: binary ");
  41. // memanggil function penanda awal file excel
  42. xlsBOF();
  43. // ------ membuat kolom pada excel --- //
  44. // mengisi pada cell A1 (baris ke-0, kolom ke-0)
  45. xlsWriteLabel(0,0,"Daftar Order Quantity Tertanggal $tgl");
  46. xlsWriteLabel(1,0,"NO");
  47. // mengisi pada cell A2 (baris ke-0, kolom ke-1)
  48. xlsWriteLabel(1,1,"KODE");
  49. // mengisi pada cell A3 (baris ke-0, kolom ke-2)
  50. xlsWriteLabel(1,2,"NAMA");
  51. // mengisi pada cell A4 (baris ke-0, kolom ke-3)
  52. xlsWriteLabel(1,3,"MAX QTY");
  53. // mengisi pada cell A5 (baris ke-0, kolom ke-4)
  54. xlsWriteLabel(1,4,"STOCK ON HAND");
  55. //xlsWriteLabel(1,5,"STOCK ON ORDER");
  56. xlsWriteLabel(1,5,"ORDER STOCK");
  57. // -------- menampilkan data --------- //
  58. // koneksi ke mysql
  59. // query menampilkan semua data
  60. $query = "SELECT * FROM ms_barang,quantity WHERE ms_barang.kd_barang=quantity.barang_id ORDER BY quantity.barang_id ASC";
  61. $hasil = mysql_query($query);
  62. // nilai awal untuk baris cell
  63. $noBarisCell = 2;
  64. // nilai awal untuk nomor urut data
  65. $noData = 1;
  66. while ($data = mysql_fetch_array($hasil))
  67. {
  68. // menampilkan no. urut data
  69. /* $q_spb = mysql_query("SELECT * FROM detail_spb WHERE LAST_INSERT_ID(barang_id) AND barang_id = '$data[0]' ORDER BY barang_id DESC LIMIT 1");
  70. $r_spb = mysql_fetch_array($q_spb);
  71. if ($r_spb)
  72. {
  73. $stock_on_order = $r_spb['req_stock'];
  74. }
  75. else
  76. {
  77. //default safety
  78. $stock_on_order = 0;
  79. }*/
  80. xlsWriteNumber($noBarisCell,0,$noData);
  81. // menampilkan data nim
  82. xlsWriteLabel($noBarisCell,1,$data['kd_barang']);
  83. // menampilkan data nama mahasiswa
  84. xlsWriteLabel($noBarisCell,2,$data['nama']);
  85. // menampilkan data nilai
  86. xlsWriteNumber($noBarisCell,3,$data['max_qty']);
  87. xlsWriteNumber($noBarisCell,4,$data['stok']);
  88. //xlsWriteNumber($noBarisCell,5,$stock_on_order);
  89. xlsWriteNumber($noBarisCell,5,$data['order_qty']);
  90. // menentukan status kelulusan
  91. //if ($data['nilai'] >= 60) $status = "LULUS";
  92. //else $status = "TIDAK LULUS";
  93. // increment untuk no. baris cell dan no. urut data
  94. $noBarisCell++;
  95. $noData++;
  96. }
  97. // memanggil function penanda akhir file excel
  98. xlsEOF();
  99. exit();
  100. ?>