|
|
|
php การอ่านค่า Barcode จาก barcodeมาตรฐานธนาคาร ให้ได้ค่า |
|
|
|
|
|
|
|
Code (PHP)
$ele = "\r\n" ; //ตรงนี้ต้องีฃรู้ว่าข้อมูลที่ส่งมามีการแบ่งบรรทัดแบบไหน
$xyz = explode($ele, $notepad);// $xyz จะเป็น array จะเอาไปวางตรงไหนก็แล้วแต่คุณ
|
|
|
|
|
Date :
2019-06-08 07:42:43 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โค๊ดเขียนอะไรไว้บ้างล่ะ จะได้แนะนำได้ถูก
|
|
|
|
|
Date :
2019-06-08 23:32:16 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เออ ถ้าไม่มึความรู้ พื้นฐาน ลองไปอ่านไปฝึกจากที่เขามีสอน ดูก่อนไหม
ความรู้เรื่อง html javascript อะไรแบบเนี้ย ไม่ใช่รู้แค่ php นิดๆ หน่อยแล้วจะมาสร้างงานเอง
คือ scan barcode มันก็แค่ keyboard ตัวหนึ่งเท่านั้น
ไปหาอ่านให้รู้จักพื้นฐานตรงนี้ก่อน
เอาให้รับค่าจาก คีย์บอร์ด แล้วส่งเข้าตัวแปรให้ได้ ก่อน แล้วจะมีทางไปเอง
|
|
|
|
|
Date :
2019-06-09 10:02:07 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไปไม่ถูกเลยครับ
Code (PHP)
<script language="javascript">
function fnccheck(e){
var t1;
var t2;
var i;
var sum;
t1=document.form1.text1.value.length;// นับจำนวน
for (i = 0; i < t1; i++)
{
if (e.keyCode == 13)
{
t1=e.keyCode;
}else{
t2=document.form1.text1.value;
}
}
document.form1.total.value=t1;
document.form1.tota2.value=t2;
}
</script>
<form action="" method="post" name="form1">
<input type="text" name="text1" id="text1" onkeypress="return fnccheck(event)" autofocus="autofocus"/>
<input type="text" name="tota1" id="total"/>
<input type="text" name="tota2" id="tota2"/>
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<script language="javascript">
function fnccheck(e){
form1.tota1.value += '['+e.keyCode+']';
form1.tota2.value = e.target.length;
}
</script>
<form action="" method="post" name="form1">
<input type="text" name="text1" id="text1" onkeypress="fnccheck(event)" autofocus="autofocus"/>
<input type="text" name="tota1" id="total" disabled />
<input type="text" name="tota2" id="tota2" disabled />
</form>
ลองใช้คียบอร์ด ธรรมดาดูก่อน ว่ามันทำงาน แล้วถีงลองยิงบาร์โค๊ด
|
ประวัติการแก้ไข 2019-06-19 08:03:02
|
|
|
|
Date :
2019-06-19 07:46:14 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอจะจับ Enter ได้แล้วครับ
แต่ยังแยกคำและ Decode ค่ากลับไม่ได้ครับ
Code (PHP)
<script language="javascript">
function fnccheck(e){
form1.tota1.value += '['+e.keyCode+']';
form1.tota3.value += String.fromCharCode(e.keyCode);
if (e.keyCode==13)
{
form1.tota2.value += '['+e.keyCode+']';
}
var Barcode = '['+e.keyCode+']';
var BarcodeResult = Barcode.split("[13]");
for(i = 0; i < BarcodeResult.length; i++){
if (e.keyCode==13){ var a="\r\n";}else{ a="";}
form1.tota4.value += BarcodeResult[i] + a;
form1.tota5.value += BarcodeResult[i] + a;
form1.tota6.value += BarcodeResult[i] + a;
form1.tota7.value += BarcodeResult[i] + a;
}
}
</script>
<form action="" method="post" name="form1">
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td colspan="4">Barcode<br /><input name="text1" type="text" autofocus="autofocus" id="text1" autocomplete="" onkeypress="fnccheck(event)" size="50"/></td>
</tr>
<tr>
<td colspan="4">KeyCode<br /><input name="tota1" type="text" disabled id="tota1" size="150" /></td>
</tr>
<tr>
<td colspan="4">Enter<br /><input name="tota2" type="text" disabled id="tota2" size="150" /></td>
</tr>
<tr>
<td colspan="4">Decode<br /><input name="tota3" type="text" disabled id="tota3" size="150" /></td>
</tr>
<tr>
<td>ID<br /><textarea name="tota4" id="tota4"cols="45" rows="20" disabled="disabled"></textarea></td>
<td>Ref1<br /><textarea name="tota5" id="tota5"cols="45" rows="20" disabled="disabled"></textarea></td>
<td>Ref2<br /><textarea name="tota6" id="tota6"cols="45" rows="20" disabled="disabled"></textarea></td>
<td>Amount<br /><textarea name="tota7" id="tota7"cols="45" rows="20" disabled="disabled"></textarea></td>
</tr>
</table>
</form>
|
ประวัติการแก้ไข 2019-06-19 11:07:13
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ event onchange ในการทำงานจริงครับ event onkeypress ใช้แค่ตรวจสอบ
ข้อมูลที่ได้รับมันมี char(13) เพื่อแบ่งข้อมูล เราต้องถือว่ามันเป็นการ enter ซึงจะทำให้เกิด event onchange เกิดขึ้น
เมื่อ เกิด event onchange เกิดขึ้น object ควรจะย้ายไป focus object ตัวทัดไป เพื่อรับข้อมูลที่เหลือ
ก็ให้เราสร้าง object ขึ้นมารองรับ ข้อมูลให้ครบเท่านั้นแหล่ะครับ และจะทำงานอะไรก็ว่าไปใน object ตัวสุดท้าย
Code (JavaScript)
function text1change(e){
form1.text2.focus();
}
function text2change(e){
form1.text3.focus();
}
function text3change(e){
form1.text4.focus();
}
|
|
|
|
|
Date :
2019-06-19 12:22:17 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ค่าแล้วครับ
ปัญหาต่อไปคือ ถ้าใส่ปุ่ม submit เข้าไปเพื่อส่งค่าจากฟรอมไปใช้
แต่ค่าที่ได้หลัง echo จะไม่เหมือนกับ text ที่ได้ใน form ก่อนส่ง
Code (PHP)
<script language="javascript">
function text1change(e)
{
form1.text2.focus();
}
function text2change(e)
{
form1.text3.focus();
}
function text3change(e)
{
form1.text4.focus();
}
</script>
<form action="" method="post" name="form1">
<input type="text" name="text1" OnChange="text1change();" autofocus="autofocus" autocomplete="off">
<input type="text" name="text2" OnChange="text2change();">
<input type="text" name="text3" OnChange="text3change();">
<input type="text" name="text4" >
</form>
<?
error_reporting(E_ERROR | E_PARSE);
if ($_POST["text1"]!="")
{
echo "ID=".$_POST["text1"]."<br>";
echo "Ref1=".$_POST["text2"]."<br>";
echo "Ref2=".$_POST["text3"]."<br>";
echo "Amount=".$_POST["text4"]."<br>";
}
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<? ใช้ให้ถูกต้อง แบบนี้ เขาเรียก bad tag
ให้ใช้ <?php
|
|
|
|
|
Date :
2019-06-20 04:29:31 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ค่าตรงแล้วครับ
ปัญหาต่อไป คือ ถ้าค่าในBarcodeมีการตัดค่าบางตัวออก เช่นตัด Ref2 ออก มันก็จะเป็น Enterติดกัน2ครั้ง
แต่ในโค๊ตนี้ ยังไม่ข้างEnterครั้งที่2ไปอีกช่อง คือไม่ข้าม Ref2 แล้วไปลงช่อง Amount แต่ค่าของ Amountจะตกที่ช่อง Ref2แทน
Code (PHP)
<script language="javascript">
function text1change(e)
{
form1.text2.focus();
}
function text2change(e)
{
form1.text3.focus();
}
function text3change(e)
{
form1.text4.focus();
}
function text4change(e)
{
document.form1.submit();
}
</script>
<form action="" method="post" name="form1" >
<input type="text" name="text1" OnChange="text1change();" autofocus="autofocus" autocomplete="off">
<input type="text" name="text2" OnChange="text2change();" autocomplete="off">
<input type="text" name="text3" OnChange="text3change();" autocomplete="off">
<input type="text" name="text4" OnChange="text4change();" autocomplete="off">
</form>
<?php
error_reporting(E_ERROR | E_PARSE);
if ($_POST["text1"]!="")
{
echo "ID=".$_POST["text1"]."<br>";
echo "Ref1=".$_POST["text2"]."<br>";
echo "Ref2=".$_POST["text3"]."<br>";
echo "Amount=".$_POST["text4"]."<br>";
}
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onchangeจะได้ผล ก็ต่อเมื่อ ข้อมูลมีการเปลี่ยนแปลง
คงต้องกลับไปใช้ onkeypress เพราะการกด enter ไม่ทำให้เกิดการเปลี่ยนแปลงของข้อมูล
Code (JavaScript)
function text1keypress(e){
if(e.keycode==13){
text2.focus();
return false; // ยกเลิก key
}
}
|
|
|
|
|
Date :
2019-06-20 09:22:13 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|