|
|
|
อยากถามเรื่อง การ generate รหัส QR Code คิวอาร์โดย query ข้อมูลจาก database ค่ะ |
|
|
|
|
|
|
|
เนื่องจากว่าข้อมูลที่จะนำมาทำ QR Code นั้น จะถูกเก็บในฐานข้อมูลด้วย และแยกกันสองฐานข้อมูล แต่มี ProductID (idd) เป็น foreign key ถ้าจะนำข้อมูลจาก สองฐานข้อมูลนี้มา generate รหัสคิวอาร์ โดยรับข้อมูล Product ID จาก textbox idd และนำไป query ข้อมูลต้องเขียนยังไงคะ
Code (PHP)
<head>
<title>Add product's data</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Administrator</title>
<script type="text/javascript">
function senddata()
{
if(document.getElementById('idd').value.length == 0)
{
alert ('ระบุรหัสผลิตภัณฑ์ด้วยค่ะ');
return false;
}
document.getElementById('submit').disabled = true;
return true;
}
function AddOk(pathfile)
{
document.getElementById('showdetail').innerHTML = 'เพิ่มข้อมูลเสร็จเรียบร้อยแล้ว';
document.getElementById('submit').disabled = false;
document.getElementById('AddPDate').reset();
return true;
}
</script>
</head>
<body>
<? include ("head.php"); ?>
<table width=1366>
<tr><td width=266 bgcolor=#F0FFF0 valign=top>
<ul>
<li><a href=adddata_admin.php><h3>Add product's data</h3></a></li>
<li><a href=loadad_admin.php><h3>Add product's date</h3></a></li>
<li><a href=loadde_admin.php><h3>Delete</h3></a></li>
<li><a href=logout.php><h3>Log out</h3></a></li>
</ul>
</td>
<td width=1100 bgcolor=#C1FFC1>
<iframe id="addtarget" name="addtarget" src="" style="width:0px;height:0px;border:0"></iframe>
<form id="AddPDate" method="post" action="adddate.php" onSubmit="return senddata();" target="addtarget">
<H2><B>ข้อมูลวันเดือนปีที่ผลิตและหมดอายุของแต่ละผลิตภัณฑ์</B></H2>
<? echo 'Product ID : <input type="text" name="idd" id="idd" value="'.(isset($_REQUEST['idd'])?htmlspecialchars($_REQUEST['idd']):'').'"><p>'; ?>
Manufacturing date : <input type="text" name="mf" id="mf"><p>
Expire date : <input type="text" name="ex" id="ex"><p>
ECC : <select name="level">
<option value="L"'.(($errorCorrectionLevel=='L')?' selected="selected"':'').'>L - Smallest</option>
<option value="M"'.(($errorCorrectionLevel=='M')?' selected="selected"':'').'>M</option>
<option value="Q"'.(($errorCorrectionLevel=='Q')?' selected="selected"':'').'>Q</option>
<option value="H"'.(($errorCorrectionLevel=='H')?' selected="selected"':'').'>H - Best</option>
</select>
Size : <select name="size">
<? for ($i=1;$i<=10;$i++)
echo '<option value="'.$i.'"'.(($matrixPointSize==$i)?'selected':'').'>'.$i.'</option>'; ?>
</select>
<input type="submit" name="send" value="Submit" id="submit">
<input type="reset" name="cancle" value="Reset" id="reset">
</form><p>
<span id="showdetail"></span>
</td></tr></table>
</body>
</html>
Code (PHP)
include "config.php";
$sql1 = "Insert Into date(ProductID, MFG, EXP) Values ('$idd', '$mf', '$ex');";
$result1=mysql_db_query($DBName,$sql1) or die("ไม่สามารถเพิ่มข้อมูลได้ กรุณาตรวจสอบข้อมูลอีกครั้ง");
mysql_close();
print"เพิ่มข้อมูลเรียบร้อยแล้ว";
echo "<br>";
$PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;
$PNG_WEB_DIR = 'temp/';
include "qrlib.php";
if (!file_exists($PNG_TEMP_DIR))
mkdir($PNG_TEMP_DIR);
$filename = $PNG_TEMP_DIR.'test.png';
$errorCorrectionLevel = 'L';
if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H')))
$errorCorrectionLevel = $_REQUEST['level'];
$matrixPointSize = 4;
if (isset($_REQUEST['size']))
$matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10);
if (isset($_REQUEST['idd'])) {
// user data
$filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['idd'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
$productid = $_REQUEST['idd'];
$sql2 = "select Energy, sugars, Total_Fat, Sodium from nutritionfact where ProductID = '$productid';";
$result2 = mysql_db_query($DBName,$sql2);
$sql3 = "select MFG,EXP from date where ProductID = "$productid";";
$result3 = mysql_db_query($DBName,$sql3)
mysql_close();
QRcode::png($_REQUEST['idd'], $result2, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2012-01-17 15:23:09 |
By :
Supergirl |
View :
1479 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำการ Concat โดยผ่านการ JOIN ระหว่าง 2 Table ก็ได้ครับ
|
|
|
|
|
Date :
2012-01-17 17:45:58 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ เดี๋ยวจะลองดูนะคะ ^^
|
|
|
|
|
Date :
2012-01-17 18:08:27 |
By :
Supergirl |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|