Kumpulan Source Code, Tips dan Tutorial Pemograman Web

Membuat Barcode Generator Menggunakan PHP dan MySQL

Halo, pada kali ini saya akan membuat catatan tentang cara membuat Barcode Generator menggunakan PHP dan data MySQL, script generate barcodenya saya pakai barcode128.php yang mana ini buatan orang juga (hehe). Untuk pengaplikasiannya baru lah saya sesuaikan dengan kebutuhan saya, bagi sobat yang perlu silahkan dipakai dan disesuaikan dengan kebutuhan masing-masing.

Saya kasih gambaran program yang saya buat menggunakan script generate barcode tersebut,

1

Pada halaman interface inputnya saya inputkan kode yang akan digenerate menjadi kode barcode, kemudian jumlah berapa buah barcode yang akan ditampilkan dalam sekali cetak. Jika tombol Print di klik maka akan tampil halaman print seperti ini :

2

Script untuk cetak barcode tersebut adalah :

<body onLoad="javascrip:window:print()">

<?php
include('barcode128.php'); // include php barcode 128 class
include "koneksi.php"; // koneksi ke database

$kolom = 5;  // jumlah kolom
$copy = $_GET['jumlah']; // jumlah copy barcode
$counter = 1;
// sql query ke database
$sql_barcode = "SELECT * FROM as_produk WHERE idproduk='$_GET[kode]' AND idkategori='$_GET[idk]'";
$baca_barcode = mysql_query($sql_barcode) or die ("Gagal Query".mysql_error());
$data_barcode = mysql_fetch_array($baca_barcode);
//menampilkan hasil generate barcode
echo"
<table cellpadding='10'>";
for ($ucopy=1; $ucopy<=$copy; $ucopy++) {
if (($counter-1) % $kolom == '0') { echo "
<tr>"; }
echo"
<td class='merk'>".substr($data_barcode['namaproduk'],0,20)."";
echo bar128(stripslashes($_GET['kode']));
echo "</td>
";
if ($counter % $kolom == '0') { echo "</tr>
"; }
$counter++;
}
echo "</table>
";
?>

 

Untuk script generate barcode saya menggunakan library yang dibuat oleh Andrew Jakcson barcode128.php

<?php /* version 1.1 Code By Andrew Jackson Adapted From Dan Billeci dabilleci@hotmail.com USAGE: echo bar128( "MyBarCode123" [,Height In Pixels] );    /// PRINTS HTML IMG TABLE OF THE CODE Info From: http://www.barcode-1.net/pub/russadam/128code.html *///Define Constants: height is a constant in div.b128 as height of bars ?>
<style>
div.b128{
border-left: 1px black solid;
height: 30px;
}
</style>

<?php
global $char128asc,$char128charWidth;
$char128asc=' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$char128wid = array(
'212222','222122','222221','121223','121322','131222','122213','122312','132212','221213', // 0-9
'221312','231212','112232','122132','122231','113222','123122','123221','223211','221132', // 10-19
'221231','213212','223112','312131','311222','321122','321221','312212','322112','322211', // 20-29
'212123','212321','232121','111323','131123','131321','112313','132113','132311','211313', // 30-39
'231113','231311','112133','112331','132131','113123','113321','133121','313121','211331', // 40-49
'231131','213113','213311','213131','311123','311321','331121','312113','312311','332111', // 50-59
'314111','221411','431111','111224','111422','121124','121421','141122','141221','112214', // 60-69
'112412','122114','122411','142112','142211','241211','221114','413111','241112','134111', // 70-79
'111242','121142','121241','114212','124112','124211','411212','421112','421211','212141', // 80-89
'214121','412121','111143','111341','131141','114113','114311','411113','411311','113141', // 90-99
'114131','311141','411131','211412','211214','211232','23311120'   );                       // 100-106

////Define Function
function bar128($text) {                        // Part 1, make list of widths
global $char128asc,$char128wid;
$w = $char128wid[$sum = 104];                            // START symbol
$onChar=1;
for($x=0;$x<strlen($text);$x++)                                // GO THRU TEXT GET LETTERS
if (!( ($pos = strpos($char128asc,$text[$x])) === false )){    // SKIP NOT FOUND CHARS
$w.= $char128wid[$pos];
$sum += $onChar++ * $pos;
}
$w.= $char128wid[ $sum % 103 ].$char128wid[106];          //Check Code, then END
//Part 2, Write rows
$html="
<table cellpadding=0 cellspacing=0>
<tr>";
for($x=0;$x<strlen($w);$x+=2)                           // code 128 widths: black border, then white space
$html .= "
<td>
<div class=\"b128\" style=\"border-left-width:{$w[$x]};width:{$w[$x+1]}\"></div>
";
return "$html
<tr><td  colspan=".strlen($w)." align=center><font face='Arial, Helvetica, sans-serif' size='1'><b>$text</table>
";
}
?>

Sekian, jika ada yang ingin ditanyakan silahkan beri komentar di bawah.

Keep Calm and Stay Ngoding.

Previous

Memasukkan Kata yang Mengandung Tanda Kutip Pada MySQL dan PHP

Next

Sistem Pengarsipan Data Berdasarkan Bulan dan Tahun pada PHP MySQL

10 Comments

  1. abc

    kok ga bisa ?

  2. dE_lee

    Kak bisa bantu saya bikin barcode tidak ?Kalo bisa tolong email ke saya dong ka.Saya sangat membutuhkan bantuan,karena sebentar lagi akan ada ujian praktek

  3. Agus

    bang admin boleh share lengkapnya tidak?
    kurang paham saya masih newbi nih

  4. Zedur

    Bang admin, cara input value sesuai jumlah yang kita isikan biar prefix itu gimana mohon penjelasan nya?

  5. adib

    mantab tutorialnya, tinggal mnyesuaikan dengan kertas barcode yang di perlukan

  6. zakki

    bang kalo supaya bisa scan barcode gimana ?

  7. Xymenes Marco

    salam siang admin,kak bisa bantuan kirim file komplet di email saya karena sya butu bangan?

Leave a Reply

Your email address will not be published.

Powered by WordPress & Theme by Anders Norén